• Matthias Clasen's avatar
    Ignore GrabBroken events which are caused by overgrabbing inside the · b2343762
    Matthias Clasen authored
    2005-06-27  Matthias Clasen  <mclasen@redhat.com>
    
    	* gtk/gtkmenushell.c (gtk_menu_shell_grab_broken): Ignore
    	GrabBroken events which are caused by overgrabbing inside
    	the application; menus rely on these for their operation.
    
    	* gdk/gdkevents.h (struct _GdkEventGrabBroken): Add a
    	grab_window field.
    
    	* gdk/win32/gdkevents-win32.c (gdk_event_translate): Set
    	grab_window to NULL when generating GrabBroken events for
    	WM_KILLFOCUS messages.
    
    	* gdk/x11/gdkmain-x11.c (_gdk_xgrab_check_unmap)
    	(_gdk_xgrab_check_destroy): Set grab_window to NULL when
    	generating GrabBroken events when the grab window becomes
    	unviewable or is destroyed.
    
    	* gdk/x11/gdkmain-x11.c (gdk_pointer_grab, gdk_keyboard_grab):
    	Generate GrabBroken events when overriding a grab inside
    	the application. In this case, set grab_window to the new
    	grab_window.
    b2343762
gtkmenushell.c 44.5 KB