39e7fae
diff -up libglade-2.6.3/glade/glade-gtk.c.secondary libglade-2.6.3/glade/glade-gtk.c
39e7fae
--- libglade-2.6.3/glade/glade-gtk.c.secondary	2009-02-20 00:21:52.433916022 -0500
39e7fae
+++ libglade-2.6.3/glade/glade-gtk.c	2009-02-20 00:22:02.065954023 -0500
39e7fae
@@ -544,7 +544,7 @@ gtk_dialog_build_children(GladeXML *self
39e7fae
 
39e7fae
 {
39e7fae
     GtkDialog *dialog = GTK_DIALOG (w);
39e7fae
-    GList *children, *list;
39e7fae
+    GList *children, *list, *secondary;
39e7fae
 
39e7fae
     glade_standard_build_children (self, w, info);
39e7fae
 
39e7fae
@@ -553,10 +553,13 @@ gtk_dialog_build_children(GladeXML *self
39e7fae
 
39e7fae
     /* repack children of action_area */
39e7fae
     children = gtk_container_get_children(GTK_CONTAINER(dialog->action_area));
39e7fae
+    secondary = NULL;
39e7fae
     for (list = children; list; list = list->next) {
39e7fae
 	GtkWidget *child = GTK_WIDGET(list->data);
39e7fae
 
39e7fae
 	g_object_ref(child);
39e7fae
+	if (gtk_button_box_get_child_secondary (GTK_BUTTON_BOX (dialog->action_area), child))
39e7fae
+		secondary = g_list_prepend (secondary, child);
39e7fae
 	gtk_container_remove (GTK_CONTAINER (dialog->action_area), child);
39e7fae
     }
39e7fae
     for (list = children; list; list = list->next) {
39e7fae
@@ -569,7 +572,12 @@ gtk_dialog_build_children(GladeXML *self
39e7fae
 	g_object_unref(child);
39e7fae
 
39e7fae
     }
39e7fae
+    for (list = secondary; list; list = list->next) {
39e7fae
+	GtkWidget *child = GTK_WIDGET(list->data);
39e7fae
+        gtk_button_box_set_child_secondary (GTK_BUTTON_BOX (dialog->action_area), child, TRUE);
39e7fae
+    }
39e7fae
     g_list_free (children);
39e7fae
+    g_list_free (secondary);
39e7fae
 }
39e7fae
 
39e7fae