[gnome-builder] pipeline: fix query signal emission



commit 603491015215fd398c5abf57ecfb4fc8016057c8
Author: Christian Hergert <chergert redhat com>
Date:   Sat Feb 25 17:11:07 2017 -0800

    pipeline: fix query signal emission
    
    These were not getting hit due to the missing class pointer mapping.

 libide/buildsystem/ide-build-stage.c |   25 ++++++++++++++++++-------
 1 files changed, 18 insertions(+), 7 deletions(-)
---
diff --git a/libide/buildsystem/ide-build-stage.c b/libide/buildsystem/ide-build-stage.c
index 7f19728..9b5c19a 100644
--- a/libide/buildsystem/ide-build-stage.c
+++ b/libide/buildsystem/ide-build-stage.c
@@ -398,11 +398,15 @@ ide_build_stage_class_init (IdeBuildStageClass *klass)
                   G_TYPE_BOOLEAN, 1, IDE_TYPE_BUILD_STAGE);
 
   signals [QUERY] =
-    g_signal_new_class_handler ("query",
-                                G_TYPE_FROM_CLASS (klass),
-                                G_SIGNAL_RUN_LAST,
-                                NULL, NULL, NULL, NULL,
-                                G_TYPE_NONE, 2, IDE_TYPE_BUILD_PIPELINE, G_TYPE_CANCELLABLE);
+    g_signal_new ("query",
+                  G_TYPE_FROM_CLASS (klass),
+                  G_SIGNAL_RUN_LAST,
+                  G_STRUCT_OFFSET (IdeBuildStageClass, query),
+                  NULL, NULL, NULL,
+                  G_TYPE_NONE,
+                  2,
+                  IDE_TYPE_BUILD_PIPELINE,
+                  G_TYPE_CANCELLABLE);
 
   signals [REAP] =
     g_signal_new ("reap",
@@ -872,10 +876,17 @@ ide_build_stage_get_stdout_path (IdeBuildStage *self)
 gboolean
 _ide_build_stage_has_query (IdeBuildStage *self)
 {
+  IDE_ENTRY;
+
   g_return_val_if_fail (IDE_IS_BUILD_STAGE (self), FALSE);
 
-  return g_signal_has_handler_pending (self, signals [QUERY], 0, FALSE) ||
-         IDE_BUILD_STAGE_GET_CLASS (self)->query != NULL;
+  if (g_signal_has_handler_pending (self, signals [QUERY], 0, FALSE))
+    IDE_RETURN (TRUE);
+
+  if (IDE_BUILD_STAGE_GET_CLASS (self)->query)
+    IDE_RETURN (TRUE);
+
+  IDE_RETURN (FALSE);
 }
 
 void


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