Fix a case of 'stuck grab'
This was showing up when using a combo box in list mode. After popping
up the list, the keyboard grab appeared stuck. What was stuck here is
only the client-side grab, since we forgot to clean up our grabs
when receiving an UnmapNotify.
This bug was introduced in 1c97003664.
This commit is contained in:
@ -659,16 +659,15 @@ gdk_x11_display_translate_event (GdkEventTranslator *translator,
|
|||||||
* means we hid the window ourselves, so we will have already flipped
|
* means we hid the window ourselves, so we will have already flipped
|
||||||
* the iconified bit off.
|
* the iconified bit off.
|
||||||
*/
|
*/
|
||||||
if (window)
|
if (window && GDK_WINDOW_IS_MAPPED (window))
|
||||||
{
|
gdk_synthesize_window_state (window,
|
||||||
if (GDK_WINDOW_IS_MAPPED (window))
|
0,
|
||||||
gdk_synthesize_window_state (window,
|
GDK_WINDOW_STATE_ICONIFIED);
|
||||||
0,
|
|
||||||
GDK_WINDOW_STATE_ICONIFIED);
|
|
||||||
_gdk_x11_window_grab_check_unmap (window, xevent->xany.serial);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (window)
|
||||||
|
_gdk_x11_window_grab_check_unmap (window, xevent->xany.serial);
|
||||||
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case MapNotify:
|
case MapNotify:
|
||||||
|
|||||||
Reference in New Issue
Block a user