[libpanel/wip/chergert/fix-14] save-delegate: fix emission of save signal



commit 032c34e4a1a96f00d87913a5e334d2df5a7dadbd
Author: Christian Hergert <chergert redhat com>
Date:   Tue Sep 13 11:35:54 2022 -0700

    save-delegate: fix emission of save signal

 src/panel-save-delegate.c | 11 ++++++++++-
 1 file changed, 10 insertions(+), 1 deletion(-)
---
diff --git a/src/panel-save-delegate.c b/src/panel-save-delegate.c
index 9d4a9dd..5a89ce6 100644
--- a/src/panel-save-delegate.c
+++ b/src/panel-save-delegate.c
@@ -76,13 +76,22 @@ panel_save_delegate_real_save_async (PanelSaveDelegate   *self,
                                      gpointer             user_data)
 {
   GTask *task = NULL;
+  gboolean ret = FALSE;
 
   g_assert (PANEL_IS_SAVE_DELEGATE (self));
   g_assert (!cancellable || G_IS_CANCELLABLE (cancellable));
 
   task = g_task_new (self, cancellable, callback, user_data);
   g_task_set_source_tag (task, panel_save_delegate_real_save_async);
-  g_signal_emit (self, signals [SAVE], 0, task);
+
+  g_signal_emit (self, signals [SAVE], 0, task, &ret);
+
+  if (!ret)
+    g_task_return_new_error (task,
+                             G_IO_ERROR,
+                             G_IO_ERROR_FAILED,
+                             "No handler implemented save");
+
   g_clear_object (&task);
 }
 


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