[mutter] backend-x11: Make sure to not crash during initialization



commit 4b5a503cee87a7d5c78075cf0c228c2a01cbbf16
Author: Jasper St. Pierre <jstpierre mecheye net>
Date:   Sun Jul 27 16:14:46 2014 +0200

    backend-x11: Make sure to not crash during initialization
    
    Sometimes we can get a host event without having the display up and
    running yet. Just don't pass it to the compositor in that case, since it
    won't be possible for it to have any event that matters.

 src/backends/x11/meta-backend-x11.c |   14 ++++++++++----
 1 files changed, 10 insertions(+), 4 deletions(-)
---
diff --git a/src/backends/x11/meta-backend-x11.c b/src/backends/x11/meta-backend-x11.c
index d0a2ca3..913e00a 100644
--- a/src/backends/x11/meta-backend-x11.c
+++ b/src/backends/x11/meta-backend-x11.c
@@ -151,14 +151,20 @@ handle_host_xevent (MetaBackend *backend,
 {
   MetaBackendX11 *x11 = META_BACKEND_X11 (backend);
   MetaBackendX11Private *priv = meta_backend_x11_get_instance_private (x11);
-  MetaDisplay *display = meta_get_display ();
-  MetaCompositor *compositor = display->compositor;
   gboolean bypass_clutter = FALSE;
 
   XGetEventData (priv->xdisplay, &event->xcookie);
 
-  if (meta_plugin_manager_xevent_filter (compositor->plugin_mgr, event))
-    bypass_clutter = TRUE;
+  {
+    MetaDisplay *display = meta_get_display ();
+
+    if (display)
+      {
+        MetaCompositor *compositor = display->compositor;
+        if (meta_plugin_manager_xevent_filter (compositor->plugin_mgr, event))
+          bypass_clutter = TRUE;
+      }
+  }
 
   if (event->type == (priv->xsync_event_base + XSyncAlarmNotify))
     handle_alarm_notify (backend, event);


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]