[gtk/wip/matthiasc/popup5: 178/186] GDK W32: Don't handle WM_ACTIVATE for popup windows
- From: Matthias Clasen <matthiasc src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk/wip/matthiasc/popup5: 178/186] GDK W32: Don't handle WM_ACTIVATE for popup windows
- Date: Tue, 28 May 2019 20:23:54 +0000 (UTC)
commit 9e5a5c6b9867f8f4b6c138434157304e26598ff1
Author: Руслан Ижбулатов <lrn1986 gmail com>
Date: Mon May 27 23:51:38 2019 +0000
GDK W32: Don't handle WM_ACTIVATE for popup windows
Popups can't be active or inactive, so emitting GDK events
in response to WM_ACTIVATE makes no sense for these kinds
of GDK surfaces.
The jury is still out on whether we should block (return 0)
or ignore (don't return anything) this message.
Blocking WM_NCACTIVATE (which we currently ignore) is definitely
not an option - it completely breaks input somehow.
gdk/win32/gdkevents-win32.c | 10 ++++++++++
1 file changed, 10 insertions(+)
---
diff --git a/gdk/win32/gdkevents-win32.c b/gdk/win32/gdkevents-win32.c
index 126177e4e5..1a8b86c335 100644
--- a/gdk/win32/gdkevents-win32.c
+++ b/gdk/win32/gdkevents-win32.c
@@ -3430,6 +3430,16 @@ gdk_event_translate (MSG *msg,
(LOWORD (msg->wParam) == WA_INACTIVE ? "INACTIVE" : "???"))),
HIWORD (msg->wParam) ? " minimized" : "",
(HWND) msg->lParam));
+ if (window->surface_type == GDK_SURFACE_POPUP)
+ {
+ /* Popups cannot be activated or de-activated -
+ * they only support keyboard focus, which GTK
+ * will handle for us.
+ */
+ *ret_valp = 0;
+ return_val = TRUE;
+ break;
+ }
/* We handle mouse clicks for modally-blocked windows under WM_MOUSEACTIVATE,
* but we still need to deal with alt-tab, or with SetActiveWindow() type
* situations.
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]