+2008-11-27 Matthias Clasen <mclasen@redhat.com>
+
+ Bug 353088 – gtk_expander_get_label should return the full label text
+
+ * gailexpander.c: Don't rely on gtk_expander_get_label.
+ Patch by Peter Johanson.
+
2008-11-24 Li Yuan <li.yuan@sun.com>
* gailnotebook.c: (gail_notebook_page_added):
static void gail_expander_finalize (GObject *object);
static void gail_expander_init_textutil (GailExpander *expander,
GtkExpander *widget);
+static G_CONST_RETURN gchar* gail_expander_get_full_text (GtkExpander *widget);
static void atk_action_interface_init (AtkActionIface *iface);
static gboolean gail_expander_do_action (AtkAction *action,
g_return_val_if_fail (GTK_IS_EXPANDER (widget), NULL);
- return gtk_expander_get_label (GTK_EXPANDER (widget));
+ return gail_expander_get_full_text (GTK_EXPANDER (widget));
}
}
const gchar* label_text;
- label_text = gtk_expander_get_label (expander);
+ label_text = gail_expander_get_full_text (expander);
gail_expander = GAIL_EXPANDER (atk_obj);
if (gail_expander->textutil)
GAIL_WIDGET_CLASS (gail_expander_parent_class)->notify_gtk (obj, pspec);
}
+static G_CONST_RETURN gchar*
+gail_expander_get_full_text (GtkExpander *widget)
+{
+ GtkWidget *label_widget;
+
+ label_widget = gtk_expander_get_label_widget (widget);
+
+ if (!GTK_IS_LABEL (label_widget))
+ return NULL;
+
+ return gtk_label_get_text (GTK_LABEL (label_widget));
+}
+
static void
gail_expander_init_textutil (GailExpander *expander,
GtkExpander *widget)
const gchar *label_text;
expander->textutil = gail_text_util_new ();
- label_text = gtk_expander_get_label (widget);
+ label_text = gail_expander_get_full_text (widget);
gail_text_util_text_setup (expander->textutil, label_text);
}
if (!expander->textutil)
gail_expander_init_textutil (expander, GTK_EXPANDER (widget));
- label_text = gtk_expander_get_label (GTK_EXPANDER (widget));
+ label_text = gail_expander_get_full_text (GTK_EXPANDER (widget));
if (label_text == NULL)
return NULL;