[gthumb/gthumb-3-4] stopping slideshow freezes entire program



commit ba2e9faa9beeebe75c396fa3e56b0ca467e2661a
Author: Paolo Bacchilega <paobac src gnome org>
Date:   Sat Dec 26 12:51:35 2015 +0100

    stopping slideshow freezes entire program
    
    destroy the window in an idle callback to let the main loop
    re-enter, as stated in the gtk_clutter_embed documentation.
    
    [bug #759787]

 extensions/slideshow/gth-slideshow.c |   14 +++++++++++---
 1 files changed, 11 insertions(+), 3 deletions(-)
---
diff --git a/extensions/slideshow/gth-slideshow.c b/extensions/slideshow/gth-slideshow.c
index 06f1931..8a2724e 100644
--- a/extensions/slideshow/gth-slideshow.c
+++ b/extensions/slideshow/gth-slideshow.c
@@ -92,10 +92,11 @@ struct _GthSlideshowPrivate {
 
 
 static void
-_gth_slideshow_close (GthSlideshow *self)
+_gth_slideshow_close_cb (gpointer user_data)
 {
-       gboolean    close_browser;
-       GthBrowser *browser;
+       GthSlideshow *self = user_data;
+       gboolean      close_browser;
+       GthBrowser   *browser;
 
        browser = self->priv->browser;
        close_browser = ! gtk_widget_get_visible (GTK_WIDGET (browser));
@@ -108,6 +109,13 @@ _gth_slideshow_close (GthSlideshow *self)
 }
 
 
+static void
+_gth_slideshow_close (GthSlideshow *self)
+{
+       call_when_idle (_gth_slideshow_close_cb, self);
+}
+
+
 static int
 shuffle_func (gconstpointer a,
              gconstpointer b)


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