[gnome-builder] workbench: delay action initialization until constructed



commit acd5689cdddbc066aa449a298a2bef1bc38a59fa
Author: Christian Hergert <christian hergert me>
Date:   Wed Jan 13 10:02:04 2016 -0800

    workbench: delay action initialization until constructed
    
    This fixes an issue where we cannot yet access a property action because
    the object has not initialized.

 libide/ide-workbench.c |   13 +++++++++++--
 1 files changed, 11 insertions(+), 2 deletions(-)
---
diff --git a/libide/ide-workbench.c b/libide/ide-workbench.c
index fbefdfd..59c2efd 100644
--- a/libide/ide-workbench.c
+++ b/libide/ide-workbench.c
@@ -197,6 +197,16 @@ ide_workbench_delete_event (GtkWidget   *widget,
 }
 
 static void
+ide_workbench_constructed (GObject *object)
+{
+  IdeWorkbench *self = (IdeWorkbench *)object;
+
+  G_OBJECT_CLASS (ide_workbench_parent_class)->constructed (object);
+
+  ide_workbench_actions_init (self);
+}
+
+static void
 ide_workbench_finalize (GObject *object)
 {
   IdeWorkbench *self = (IdeWorkbench *)object;
@@ -264,6 +274,7 @@ ide_workbench_class_init (IdeWorkbenchClass *klass)
   GObjectClass *object_class = G_OBJECT_CLASS (klass);
   GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass);
 
+  object_class->constructed = ide_workbench_constructed;
   object_class->finalize = ide_workbench_finalize;
   object_class->get_property = ide_workbench_get_property;
   object_class->set_property = ide_workbench_set_property;
@@ -344,8 +355,6 @@ ide_workbench_init (IdeWorkbench *self)
 {
   gtk_widget_init_template (GTK_WIDGET (self));
 
-  ide_workbench_actions_init (self);
-
   ide_workbench_add_perspective (self,
                                  g_object_new (IDE_TYPE_GREETER_PERSPECTIVE,
                                                "visible", TRUE,


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