summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJasper St. Pierre <jstpierre@mecheye.net>2014-03-18 17:11:25 -0400
committerJasper St. Pierre <jstpierre@mecheye.net>2014-03-18 18:25:32 -0400
commit33f1bd96f50227301b4562eeaa159c2eb5559ca2 (patch)
tree25ac60cdb8093e2c33cd3fa6b12ca6047d4d03e6
parent9ba49358e50af93ff9e59d1ef88700750106f115 (diff)
downloadmutter-33f1bd96f50227301b4562eeaa159c2eb5559ca2.tar.gz
compositor: Kill off modal_plugin
We only ever have one plugin, so don't bother recording which plugin is modal, only whether we are modal or not.
-rw-r--r--src/compositor/compositor-private.h2
-rw-r--r--src/compositor/compositor.c26
2 files changed, 13 insertions, 15 deletions
diff --git a/src/compositor/compositor-private.h b/src/compositor/compositor-private.h
index 55f5017a9..88eacc96c 100644
--- a/src/compositor/compositor-private.h
+++ b/src/compositor/compositor-private.h
@@ -21,8 +21,6 @@ struct _MetaCompositor
ClutterActor *shadow_src;
- MetaPlugin *modal_plugin;
-
gint64 server_time_query_time;
gint64 server_time_offset;
diff --git a/src/compositor/compositor.c b/src/compositor/compositor.c
index 305d8cb76..23b4bb548 100644
--- a/src/compositor/compositor.c
+++ b/src/compositor/compositor.c
@@ -83,6 +83,12 @@
#include <X11/extensions/shape.h>
#include <X11/extensions/Xcomposite.h>
+static gboolean
+is_modal (MetaDisplay *display)
+{
+ return display->grab_op == META_GRAB_OP_COMPOSITOR;
+}
+
/* #define DEBUG_TRACE g_print */
#define DEBUG_TRACE(X)
@@ -446,11 +452,10 @@ meta_begin_modal_for_plugin (MetaScreen *screen,
* are significant differences in how we handle grabs that make it difficult to
* merge the two.
*/
- MetaDisplay *display = meta_screen_get_display (screen);
- MetaCompositor *compositor = display->compositor;
+ MetaDisplay *display = meta_screen_get_display (screen);
gboolean ok;
- if (compositor->modal_plugin != NULL || display->grab_op != META_GRAB_OP_NONE)
+ if (is_modal (display) || display->grab_op != META_GRAB_OP_NONE)
return FALSE;
if (meta_is_wayland_compositor ())
@@ -466,8 +471,6 @@ meta_begin_modal_for_plugin (MetaScreen *screen,
display->grab_have_pointer = TRUE;
display->grab_have_keyboard = TRUE;
- compositor->modal_plugin = plugin;
-
return TRUE;
}
@@ -476,11 +479,10 @@ meta_end_modal_for_plugin (MetaScreen *screen,
MetaPlugin *plugin,
guint32 timestamp)
{
- MetaDisplay *display = meta_screen_get_display (screen);
- Display *xdpy = meta_display_get_xdisplay (display);
- MetaCompositor *compositor = display->compositor;
+ MetaDisplay *display = meta_screen_get_display (screen);
+ Display *xdpy = meta_display_get_xdisplay (display);
- g_return_if_fail (compositor->modal_plugin == plugin);
+ g_return_if_fail (is_modal (display));
if (!meta_is_wayland_compositor ())
{
@@ -493,8 +495,6 @@ meta_end_modal_for_plugin (MetaScreen *screen,
display->grab_screen = NULL;
display->grab_have_pointer = FALSE;
display->grab_have_keyboard = FALSE;
-
- compositor->modal_plugin = NULL;
}
static void
@@ -1004,9 +1004,9 @@ meta_compositor_process_event (MetaCompositor *compositor,
info = meta_screen_get_compositor_data (screen);
- if (compositor->modal_plugin && is_grabbed_event (compositor->display, event))
+ if (is_modal (display) && is_grabbed_event (compositor->display, event))
{
- _meta_plugin_xevent_filter (compositor->modal_plugin, event);
+ meta_plugin_manager_xevent_filter (info->plugin_mgr, event);
/* We always consume events even if the plugin says it didn't handle them;
* exclusive is exclusive */