[mutter] later: Handle gracefully calls with unset display



commit 2744722b8cb06540c26b82c5e49c6546b4437554
Author: Marco Trevisan (TreviƱo) <mail 3v1n0 net>
Date:   Sat Mar 13 06:20:40 2021 +0100

    later: Handle gracefully calls with unset display
    
    This can happen when the display has been already closed, in such case
    we should not crash but warn about the error and return early.
    
    Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1780>

 src/compositor/meta-later.c | 11 +++++++++--
 1 file changed, 9 insertions(+), 2 deletions(-)
---
diff --git a/src/compositor/meta-later.c b/src/compositor/meta-later.c
index 61fa97f14e..43da6d8e68 100644
--- a/src/compositor/meta-later.c
+++ b/src/compositor/meta-later.c
@@ -277,8 +277,12 @@ meta_later_add (MetaLaterType  when,
                 GDestroyNotify notify)
 {
   MetaDisplay *display = meta_get_display ();
-  MetaCompositor *compositor = display->compositor;
+  MetaCompositor *compositor;
+
+  g_return_val_if_fail (display, 0);
+  g_return_val_if_fail (display->compositor, 0);
 
+  compositor = display->compositor;
   return meta_laters_add (meta_compositor_get_laters (compositor),
                           when, func, data, notify);
 }
@@ -306,8 +310,11 @@ void
 meta_later_remove (unsigned int later_id)
 {
   MetaDisplay *display = meta_get_display ();
-  MetaCompositor *compositor = display->compositor;
+  MetaCompositor *compositor;
+
+  g_return_if_fail (display);
 
+  compositor = display->compositor;
   if (!compositor)
     return;
 


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