diff options
-rw-r--r-- | configure.ac | 2 | ||||
-rw-r--r-- | src/idomessagedialog.c | 34 |
2 files changed, 21 insertions, 15 deletions
diff --git a/configure.ac b/configure.ac index 5e209da..94c7c41 100644 --- a/configure.ac +++ b/configure.ac @@ -3,7 +3,7 @@ # m4_define([ido_major_version], [0]) m4_define([ido_minor_version], [1]) -m4_define([ido_micro_version], [7]) +m4_define([ido_micro_version], [8]) m4_define([ido_api_version], [ido_major_version.ido_minor_version]) diff --git a/src/idomessagedialog.c b/src/idomessagedialog.c index 2ba6538..ba73233 100644 --- a/src/idomessagedialog.c +++ b/src/idomessagedialog.c @@ -358,6 +358,8 @@ ido_message_dialog_get_label (IdoMessageDialog *dialog, gboolean primary) GList *list; gchar *text; gchar *secondary_text; + GtkWidget *content; + GList *children; g_object_get (G_OBJECT (dialog), "text", &text, @@ -366,34 +368,38 @@ ido_message_dialog_get_label (IdoMessageDialog *dialog, gboolean primary) g_return_val_if_fail (IDO_IS_MESSAGE_DIALOG (dialog), NULL); - for (list = GTK_BOX (GTK_DIALOG (dialog)->vbox)->children; list != NULL; list = list->next) - { - GtkBoxChild *child = (GtkBoxChild *)list->data; + content = gtk_dialog_get_content_area (GTK_DIALOG (dialog)); + children = gtk_container_get_children (GTK_CONTAINER (content)); - if (G_TYPE_FROM_INSTANCE (child->widget) == GTK_TYPE_HBOX) + for (list = children; list != NULL; list = list->next) + { + if (G_TYPE_FROM_INSTANCE (list->data) == GTK_TYPE_HBOX) { + GList *hchildren; GList *hlist; - GtkWidget *hbox = child->widget; + GtkWidget *hbox = GTK_WIDGET (list->data); - for (hlist = GTK_BOX (hbox)->children; hlist != NULL; hlist = hlist->next) - { - GtkBoxChild *hchild = (GtkBoxChild *)hlist->data; + hchildren = gtk_container_get_children (GTK_CONTAINER (hbox)); - if (G_TYPE_FROM_INSTANCE (hchild->widget) == GTK_TYPE_VBOX) + for (hlist = hchildren; hlist != NULL; hlist = hlist->next) + { + if (G_TYPE_FROM_INSTANCE (hlist->data) == GTK_TYPE_VBOX) { GList *vlist; - GtkWidget *vbox = hchild->widget; + GtkWidget *vbox = GTK_WIDGET (hlist->data); + GList *vchildren; + + vchildren = gtk_container_get_children (GTK_CONTAINER (vbox)); - for (vlist = GTK_BOX (vbox)->children; vlist != NULL; vlist = vlist->next) + for (vlist = vchildren; vlist != NULL; vlist = vlist->next) { - GtkBoxChild *vchild = (GtkBoxChild *)vlist->data; GtkLabel *label; - label = GTK_LABEL (vchild->widget); + label = GTK_LABEL (vlist->data); if (strcmp ((primary ? text : secondary_text), label->label) == 0) { - return vchild->widget; + return GTK_WIDGET (label); } } } |