[maemo-commits] [maemo-commits] r11789 - in projects/haf/trunk/gtk+: . gtk

From: subversion at stage.maemo.org subversion at stage.maemo.org
Date: Wed May 23 19:20:19 EEST 2007
Author: timj
Date: 2007-05-23 19:20:17 +0300 (Wed, 23 May 2007)
New Revision: 11789

Modified:
   projects/haf/trunk/gtk+/ChangeLog
   projects/haf/trunk/gtk+/gtk/gtkwidget.c
Log:
Wed May 23 18:17:18 2007  Tim Janik  <timj at imendio.com>

        * gtk/gtkwidget.c: allow Maemo specific hooks after widget construction
        by calling them from GObjectClass.constructed().




Modified: projects/haf/trunk/gtk+/ChangeLog
===================================================================
--- projects/haf/trunk/gtk+/ChangeLog	2007-05-23 15:48:37 UTC (rev 11788)
+++ projects/haf/trunk/gtk+/ChangeLog	2007-05-23 16:20:17 UTC (rev 11789)
@@ -1,3 +1,8 @@
+Wed May 23 18:17:18 2007  Tim Janik  <timj at imendio.com>
+
+	* gtk/gtkwidget.c: allow Maemo specific hooks after widget construction
+	by calling them from GObjectClass.constructed().
+
 2007-05-23  Kristian Rietveld  <kris at imendio.com>
 
 	* gtk/gtktreemodelfilter.c (gtk_tree_model_filter_drag_dest_init),

Modified: projects/haf/trunk/gtk+/gtk/gtkwidget.c
===================================================================
--- projects/haf/trunk/gtk+/gtk/gtkwidget.c	2007-05-23 15:48:37 UTC (rev 11788)
+++ projects/haf/trunk/gtk+/gtk/gtkwidget.c	2007-05-23 16:20:17 UTC (rev 11789)
@@ -374,7 +374,20 @@
   GTK_WIDGET_GET_CLASS (object)->dispatch_child_properties_changed (GTK_WIDGET (object), n_pspecs, pspecs);
 }
 
+#ifdef MAEMO_CHANGES
 static void
+maemo_widget_constructed (GObject *object)
+{
+  static GQuark quark_maemo_widget_customizer = 0;
+  if (!quark_maemo_widget_customizer)
+    quark_maemo_widget_customizer = g_quark_from_static_string ("maemo_widget_customizer");
+  void (*hook) (GtkWidget*) = g_type_get_qdata (G_OBJECT_TYPE (object), quark_maemo_widget_customizer);
+  if (hook)
+    hook (GTK_WIDGET (object));
+}
+#endif /* MAEMO_CHANGES */
+
+static void
 gtk_widget_class_init (GtkWidgetClass *klass)
 {
   static GObjectNotifyContext cpn_context = { 0, NULL, NULL };
@@ -405,6 +418,9 @@
   cpn_context.dispatcher = child_property_notify_dispatcher;
   _gtk_widget_child_property_notify_context = &cpn_context;
 
+#ifdef MAEMO_CHANGES
+  gobject_class->constructed = maemo_widget_constructed;
+#endif /* MAEMO_CHANGES */
   gobject_class->dispose = gtk_widget_dispose;
   gobject_class->finalize = gtk_widget_finalize;
   gobject_class->set_property = gtk_widget_set_property;


More information about the maemo-commits mailing list