]> Pileus Git - ~andy/gtk/commitdiff
Chain up. This makes it possible to have accelerators tags on GtkDialog
authorJohan Dahlin <johan@gnome.org>
Fri, 28 Dec 2007 10:36:07 +0000 (10:36 +0000)
committerJohan Dahlin <johan@src.gnome.org>
Fri, 28 Dec 2007 10:36:07 +0000 (10:36 +0000)
2007-12-28  Johan Dahlin  <johan@gnome.org>

* gtk/gtkdialog.c (gtk_dialog_buildable_custom_finished)
(gtk_dialog_buildable_custom_tag_start): Chain up.
This makes it possible to have accelerators tags on GtkDialog
subclasses.

svn path=/trunk/; revision=19268

ChangeLog
gtk/gtkdialog.c
tests/buildertest.c

index 7ae79a061014da0a1fc3e6ba0a84a3f078a69dce..85d718d6742e4aa492a507bb9d900a7d71167205 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2007-12-28  Johan Dahlin  <johan@gnome.org>
+
+       * gtk/gtkdialog.c (gtk_dialog_buildable_custom_finished)
+       (gtk_dialog_buildable_custom_tag_start): Chain up. 
+       This makes it possible to have accelerators tags on GtkDialog 
+       subclasses.
+
 2007-12-28  Mathias Hasselmann  <mathias@openismus.com>
 
        Add GTK_CALENDAR_SHOW_DETAILS display flag, which chooses if details
index 3ad4299c9889ba30f88525149c01a2d27718db7d..5ae44b72fa9e0c1299339f2a656019189ef84f97 100644 (file)
@@ -280,9 +280,12 @@ gtk_dialog_init (GtkDialog *dialog)
   gtk_window_set_position (GTK_WINDOW (dialog), GTK_WIN_POS_CENTER_ON_PARENT);
 }
 
+static GtkBuildableIface *parent_buildable_iface;
+
 static void
 gtk_dialog_buildable_interface_init (GtkBuildableIface *iface)
 {
+  parent_buildable_iface = g_type_interface_peek_parent (iface);
   iface->get_internal_child = gtk_dialog_buildable_get_internal_child;
   iface->custom_tag_start = gtk_dialog_buildable_custom_tag_start;
   iface->custom_finished = gtk_dialog_buildable_custom_finished;
@@ -1365,7 +1368,8 @@ gtk_dialog_buildable_custom_tag_start (GtkBuildable  *buildable,
       return TRUE;
     }
 
-  return FALSE;
+  return parent_buildable_iface->custom_tag_start (buildable, builder, child,
+                                                  tagname, parser, data);
 }
 
 static void
@@ -1383,7 +1387,11 @@ gtk_dialog_buildable_custom_finished (GtkBuildable *buildable,
   guint signal_id;
   
   if (strcmp (tagname, "action-widgets"))
+    {
+    parent_buildable_iface->custom_finished (buildable, builder, child,
+                                            tagname, user_data);
     return;
+    }
 
   dialog = GTK_DIALOG (buildable);
   parser_data = (ActionWidgetsSubParserData*)user_data;
index 2b79b334a40258abfef5f29abd7c8008181c4658..3ee6b9163498d70a719f449ef7b0b95b5357217c 100644 (file)
@@ -1758,6 +1758,7 @@ test_file (const gchar *filename)
 
   g_object_unref (builder);
   builder = NULL;
+
 }
 
 int