win32: Record the native event mask in use
This commit is contained in:
		| @ -571,7 +571,7 @@ _gdk_win32_display_create_window_impl (GdkDisplay    *display, | ||||
|   if (!title || !*title) | ||||
|     title = ""; | ||||
|  | ||||
|   window->event_mask = GDK_STRUCTURE_MASK | event_mask; | ||||
|   impl->native_event_mask = GDK_STRUCTURE_MASK | event_mask; | ||||
|        | ||||
|   if (attributes_mask & GDK_WA_TYPE_HINT) | ||||
|     gdk_window_set_type_hint (window, attributes->type_hint); | ||||
| @ -2028,21 +2028,29 @@ _gdk_windowing_window_at_device_position (GdkDisplay      *display, | ||||
| static GdkEventMask   | ||||
| gdk_win32_window_get_events (GdkWindow *window) | ||||
| { | ||||
|   GdkWindowImplWin32 *impl; | ||||
|  | ||||
|   if (GDK_WINDOW_DESTROYED (window)) | ||||
|     return 0; | ||||
|  | ||||
|   return window->event_mask; | ||||
|   impl = GDK_WINDOW_IMPL_WIN32 (window->impl); | ||||
|  | ||||
|   return impl->native_event_mask; | ||||
| } | ||||
|  | ||||
| static void           | ||||
| gdk_win32_window_set_events (GdkWindow   *window, | ||||
| 		       GdkEventMask event_mask) | ||||
| 			     GdkEventMask event_mask) | ||||
| { | ||||
|   GdkWindowImplWin32 *impl; | ||||
|  | ||||
|   impl = GDK_WINDOW_IMPL_WIN32 (window->impl); | ||||
|  | ||||
|   /* gdk_window_new() always sets the GDK_STRUCTURE_MASK, so better | ||||
|    * set it here, too. Not that I know or remember why it is | ||||
|    * necessary, will have to test some day. | ||||
|    */ | ||||
|   window->event_mask = GDK_STRUCTURE_MASK | event_mask; | ||||
|   impl->native_event_mask = GDK_STRUCTURE_MASK | event_mask; | ||||
| } | ||||
|  | ||||
| static void | ||||
|  | ||||
| @ -65,6 +65,8 @@ struct _GdkWindowImplWin32 | ||||
|   gint hint_flags; | ||||
|   GdkGeometry hints; | ||||
|  | ||||
|   GdkEventMask native_event_mask; | ||||
|  | ||||
|   GdkWindowTypeHint type_hint; | ||||
|  | ||||
|   gboolean extension_events_selected; | ||||
|  | ||||
		Reference in New Issue
	
	Block a user
	 Alexander Larsson
					Alexander Larsson