[clutter-gtk] embed: Check for state_flags_changed vfunc



commit 9ec52282f6bed99e34fec878cbed689e26a82526
Author: Emmanuele Bassi <ebassi gnome org>
Date:   Wed Aug 8 17:08:15 2012 +0100

    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

 clutter-gtk/gtk-clutter-embed.c |    7 ++++---
 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



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]