Fixed up stage reactivity bug.

This commit is contained in:
Tomas Frydrych 2008-10-21 08:58:44 +01:00
parent 775cb1f4a4
commit 0684ef95c5
2 changed files with 15 additions and 10 deletions

View File

@ -1643,20 +1643,18 @@ process_property_notify (Mutter *compositor,
} }
static void static void
show_overlay_window (MetaScreen *screen, Window cow) show_overlay_window (Display *xdisplay, Window xstage, Window xoverlay)
{ {
#if 0
MetaDisplay *display = meta_screen_get_display (screen);
Display *xdisplay = meta_display_get_xdisplay (display);
XserverRegion region; XserverRegion region;
region = XFixesCreateRegion (xdisplay, NULL, 0); region = XFixesCreateRegion (xdisplay, NULL, 0);
XFixesSetWindowShapeRegion (xdisplay, cow, ShapeBounding, 0, 0, 0); XFixesSetWindowShapeRegion (xdisplay, xoverlay, ShapeBounding, 0, 0, 0);
XFixesSetWindowShapeRegion (xdisplay, cow, ShapeInput, 0, 0, region);
XFixesSetWindowShapeRegion (xdisplay, xoverlay, ShapeInput, 0, 0, region);
XFixesSetWindowShapeRegion (xdisplay, xstage, ShapeInput, 0, 0, region);
XFixesDestroyRegion (xdisplay, region); XFixesDestroyRegion (xdisplay, region);
#endif
} }
static Window static Window
@ -1783,15 +1781,17 @@ clutter_cmp_manage_screen (MetaCompositor *compositor,
NULL); NULL);
/*
* Must do this *before* creating the plugin manager, in case any of the
* plugins need to adjust the screen shape regions.
*/
show_overlay_window (xdisplay, xwin, info->output);
info->plugin_mgr = info->plugin_mgr =
mutter_plugin_manager_new (screen); mutter_plugin_manager_new (screen);
clutter_actor_show_all (info->stage); clutter_actor_show_all (info->stage);
clutter_actor_show_all (info->overlay_group); clutter_actor_show_all (info->overlay_group);
/* Now we're up and running we can show the output if needed */
show_overlay_window (screen, info->output);
#endif #endif
} }

View File

@ -860,6 +860,11 @@ do_init (const char *params)
clutter_actor_set_position (panel, 0, clutter_actor_set_position (panel, 0,
-clutter_actor_get_height (panel)); -clutter_actor_get_height (panel));
/*
* Set up the stage even processing
*/
disable_stage (plugin);
/* /*
* Hook to the captured signal, so we get to see all events before our * Hook to the captured signal, so we get to see all events before our
* children and do not interfere with their event processing. * children and do not interfere with their event processing.