[gtk: 1/2] Fix Win32 popup focus when using SSD




commit f0a8c6311e2e3549aca9956f17e0ff980d9eb579
Author: firox263 <mjak923 aucklanduni ac nz>
Date:   Tue Oct 6 22:37:35 2020 +1300

    Fix Win32 popup focus when using SSD
    
    Prevents GDK Popups from stealing focus from the parent window when
    using Server Side Decorations on win32.
    
    It uses `ShowWindow` and the `SW_SHOWNOACTIVATE` flag.

 gdk/win32/gdksurface-win32.c | 3 +++
 1 file changed, 3 insertions(+)
---
diff --git a/gdk/win32/gdksurface-win32.c b/gdk/win32/gdksurface-win32.c
index 69b71baf13..3e9de289bd 100644
--- a/gdk/win32/gdksurface-win32.c
+++ b/gdk/win32/gdksurface-win32.c
@@ -1327,6 +1327,9 @@ gdk_win32_surface_raise (GdkSurface *window)
         API_CALL (SetWindowPos, (GDK_SURFACE_HWND (window), HWND_TOPMOST,
                                 0, 0, 0, 0,
                                 SWP_NOACTIVATE | SWP_NOMOVE | SWP_NOSIZE | SWP_NOOWNERZORDER));
+         
+      else if (GDK_IS_POPUP (window))
+        ShowWindow (GDK_SURFACE_HWND (window), SW_SHOWNOACTIVATE);
       else
         /* Do not wrap this in an API_CALL macro as SetForegroundWindow might
          * fail when for example dragging a window belonging to a different


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]