[gtk/wip.win32.fixes: 2/2] gdkevents-win32.c: Clean up WM_ACTIVATE handling a bit
- From: Chun-wei Fan <fanchunwei src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk/wip.win32.fixes: 2/2] gdkevents-win32.c: Clean up WM_ACTIVATE handling a bit
- Date: Tue, 8 Sep 2020 08:13:01 +0000 (UTC)
commit 63c0cb9974246b75c536f02e958738b8bcc63937
Author: Chun-wei Fan <fanchunwei src gnome org>
Date: Tue Sep 8 16:09:46 2020 +0800
gdkevents-win32.c: Clean up WM_ACTIVATE handling a bit
We can group some things together, to make things a little bit more clear
gdk/win32/gdkevents-win32.c | 48 ++++++++++++++++++++++++---------------------
1 file changed, 26 insertions(+), 22 deletions(-)
---
diff --git a/gdk/win32/gdkevents-win32.c b/gdk/win32/gdkevents-win32.c
index da39f88b9a..e2424f4741 100644
--- a/gdk/win32/gdkevents-win32.c
+++ b/gdk/win32/gdkevents-win32.c
@@ -3276,34 +3276,38 @@ gdk_event_translate (MSG *msg,
break;
}
- if (LOWORD (msg->wParam) == WA_INACTIVE && msg->lParam != 0)
+ if (LOWORD (msg->wParam) == WA_INACTIVE)
{
- GdkSurface *other_surface = gdk_win32_handle_table_lookup ((HWND) msg->lParam);
- if (other_surface != NULL &&
- (GDK_IS_POPUP (other_surface) || GDK_IS_DRAG_SURFACE (other_surface)))
+ if (msg->lParam != 0)
{
- /* We're being deactivated in favour of some popup or temp window.
- * Since only toplevels can have visual focus, pretend that
- * nothing happened.
- */
- *ret_valp = 0;
- return_val = TRUE;
- break;
+ GdkSurface *other_surface = gdk_win32_handle_table_lookup ((HWND) msg->lParam);
+ if (other_surface != NULL &&
+ (GDK_IS_POPUP (other_surface) || GDK_IS_DRAG_SURFACE (other_surface)))
+ {
+ /* We're being deactivated in favour of some popup or temp window.
+ * Since only toplevels can have visual focus, pretend that
+ * nothing happened.
+ */
+ *ret_valp = 0;
+ return_val = TRUE;
+ break;
+ }
}
- }
- if (LOWORD (msg->wParam) == WA_INACTIVE)
- gdk_synthesize_surface_state (window, GDK_SURFACE_STATE_FOCUSED, 0);
+ gdk_synthesize_surface_state (window, GDK_SURFACE_STATE_FOCUSED, 0);
+ }
else
- gdk_synthesize_surface_state (window, 0, GDK_SURFACE_STATE_FOCUSED);
+ {
+ gdk_synthesize_surface_state (window, 0, GDK_SURFACE_STATE_FOCUSED);
+
+ /* Bring any tablet contexts to the top of the overlap order when
+ * one of our windows is activated.
+ * NOTE: It doesn't seem to work well if it is done in WM_ACTIVATEAPP
+ * instead
+ */
+ _gdk_input_set_tablet_active ();
+ }
- /* Bring any tablet contexts to the top of the overlap order when
- * one of our windows is activated.
- * NOTE: It doesn't seem to work well if it is done in WM_ACTIVATEAPP
- * instead
- */
- if (LOWORD(msg->wParam) != WA_INACTIVE)
- _gdk_input_set_tablet_active ();
break;
case WM_ACTIVATEAPP:
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]