summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthias Clasen <mclasen@redhat.com>2016-05-07 16:22:13 -0400
committerMatthias Clasen <mclasen@redhat.com>2016-05-19 12:37:54 -0400
commit00d1f7320486cbdc72ff095bddba0d5601e98ce1 (patch)
tree0dbc82518b583e5d7a38645b6bbd6ac8827941de
parent9a60a3659f6060ab701b4ec6d52af48d55cfd674 (diff)
downloadgtk+-00d1f7320486cbdc72ff095bddba0d5601e98ce1.tar.gz
gtk-demo: Fix revealer demo
This only used by luck before. We are changing a property from the ::notify handler for that property. Now that GtkRevealer is notifying the property when it stops animations on unmap, we end up in a life lock situation where we never make it out of the notify queue. Fix this by not restarting the animation if the widget is unmapped.
-rw-r--r--demos/gtk-demo/revealer.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/demos/gtk-demo/revealer.c b/demos/gtk-demo/revealer.c
index 23092d059a..2cccb7a7ed 100644
--- a/demos/gtk-demo/revealer.c
+++ b/demos/gtk-demo/revealer.c
@@ -12,10 +12,13 @@ static guint timeout = 0;
static void
change_direction (GtkRevealer *revealer)
{
- gboolean revealed;
+ if (gtk_widget_get_mapped (GTK_WIDGET (revealer)))
+ {
+ gboolean revealed;
- revealed = gtk_revealer_get_child_revealed (revealer);
- gtk_revealer_set_reveal_child (revealer, !revealed);
+ revealed = gtk_revealer_get_child_revealed (revealer);
+ gtk_revealer_set_reveal_child (revealer, !revealed);
+ }
}
static gboolean