summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEmmanuele Bassi <ebassi@gnome.org>2012-08-08 17:08:15 +0100
committerEmmanuele Bassi <ebassi@gnome.org>2012-08-09 00:56:12 +0100
commit9ec52282f6bed99e34fec878cbed689e26a82526 (patch)
treeeb56e3c61a0e1da0bca8718ff721bf80dfa54230
parent69d50ef63bd0ecaadc238068ac85cab2727c76c6 (diff)
downloadclutter-gtk-9ec52282f6bed99e34fec878cbed689e26a82526.tar.gz
embed: Check for state_flags_changed vfunc
In GTK+ 3.2, GtkWidgetClass.state_flags_changed did not have an implementation inside GtkWidget, which means that running clutter-gtk with an older GTK+ version will crash. https://bugzilla.gnome.org/show_bug.cgi?id=681462
-rw-r--r--clutter-gtk/gtk-clutter-embed.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/clutter-gtk/gtk-clutter-embed.c b/clutter-gtk/gtk-clutter-embed.c
index 2ab08d8..c301e4f 100644
--- a/clutter-gtk/gtk-clutter-embed.c
+++ b/clutter-gtk/gtk-clutter-embed.c
@@ -817,11 +817,12 @@ static void
gtk_clutter_embed_state_flags_changed (GtkWidget *widget,
GtkStateFlags prev_state_flags)
{
- GTK_WIDGET_CLASS (gtk_clutter_embed_parent_class)->state_flags_changed
- (widget, prev_state_flags);
+ if (GTK_WIDGET_CLASS (gtk_clutter_embed_parent_class)->state_flags_changed != NULL)
+ GTK_WIDGET_CLASS (gtk_clutter_embed_parent_class)->state_flags_changed (widget, prev_state_flags);
gtk_container_forall (GTK_CONTAINER (widget),
- (GtkCallback) gtk_widget_queue_draw, NULL);
+ (GtkCallback) gtk_widget_queue_draw,
+ NULL);
}
static void