[gnome-text-editor] modeline: hold ref across emit_changed() call



commit c16e66e5c50b0eae105a559daca585dac01ef8f3
Author: Christian Hergert <chergert redhat com>
Date:   Wed Nov 10 16:39:27 2021 -0800

    modeline: hold ref across emit_changed() call
    
    The changed signal can do pretty much whatever at the layers below us, so
    make sure we dont lose the passed in reference during the call.
    
    Fixes #209

 src/modelines/editor-modeline-settings-provider.c | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)
---
diff --git a/src/modelines/editor-modeline-settings-provider.c 
b/src/modelines/editor-modeline-settings-provider.c
index e7ac630..9d6d315 100644
--- a/src/modelines/editor-modeline-settings-provider.c
+++ b/src/modelines/editor-modeline-settings-provider.c
@@ -189,7 +189,12 @@ editor_modeline_settings_provider_queue_reload (EditorModelineSettingsProvider *
       g_clear_handle_id (&self->reload_source, g_source_remove);
     }
 
-  self->reload_source = g_timeout_add_seconds (1, editor_modeline_settings_provider_reload, self);
+  self->reload_source =
+    g_timeout_add_seconds_full (G_PRIORITY_DEFAULT,
+                                1,
+                                editor_modeline_settings_provider_reload,
+                                g_object_ref (self),
+                                g_object_unref);
 }
 
 static void


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