diff --git a/src/compositor/mutter/compositor-mutter.c b/src/compositor/mutter/compositor-mutter.c index 884df2345..0e61a4d11 100644 --- a/src/compositor/mutter/compositor-mutter.c +++ b/src/compositor/mutter/compositor-mutter.c @@ -1672,7 +1672,8 @@ clutter_cmp_manage_screen (MetaCompositor *compositor, PointerMotionMask | PropertyChangeMask | ButtonPressMask | ButtonReleaseMask | - KeyPressMask | KeyReleaseMask; + KeyPressMask | KeyReleaseMask | + StructureNotifyMask; if (XGetWindowAttributes (xdisplay, xwin, &attr)) { @@ -1837,6 +1838,11 @@ clutter_cmp_process_event (MetaCompositor *compositor, meta_error_trap_pop (xrc->display, FALSE); + /* Clutter needs to know about MapNotify events otherwise it will + think the stage is invisible */ + if (event->type == MapNotify) + clutter_x11_handle_event (event); + /* The above handling is basically just "observing" the events, so we return * FALSE to indicate that the event should not be filtered out; if we have * GTK+ windows in the same process, GTK+ needs the ConfigureNotify event, for example.