[Xfce4-commits] <ristretto:master> Make sure running transactions are cleaned-up when image_viewer_set_file is set to NULL;

Stephan Arts noreply at xfce.org
Sat Aug 20 10:34:05 CEST 2011


Updating branch refs/heads/master
         to 1f1c7551f7181bca7f1e4f3f02b02e7f84e0f805 (commit)
       from f1a26170f59df02ec1763c74302141c0a80596ba (commit)

commit 1f1c7551f7181bca7f1e4f3f02b02e7f84e0f805
Author: Stephan Arts <stephan at xfce.org>
Date:   Sat Aug 20 10:32:55 2011 +0200

    Make sure running transactions are cleaned-up when image_viewer_set_file is set to NULL;

 src/image_viewer.c |   16 +++++++++++++---
 1 files changed, 13 insertions(+), 3 deletions(-)

diff --git a/src/image_viewer.c b/src/image_viewer.c
index 4b0213a..5bf45e5 100644
--- a/src/image_viewer.c
+++ b/src/image_viewer.c
@@ -849,7 +849,7 @@ rstto_image_viewer_set_file (RsttoImageViewer *viewer,
                              gdouble scale,
                              RsttoImageViewerOrientation orientation)
 {
-
+    
     /*
      * Set the image-orientation
      */
@@ -876,7 +876,10 @@ rstto_image_viewer_set_file (RsttoImageViewer *viewer,
                  */
                 if (viewer->priv->transaction)
                 {
-                    g_cancellable_cancel (viewer->priv->transaction->cancellable);
+                    if (FALSE == g_cancellable_is_cancelled (viewer->priv->transaction->cancellable))
+                    {
+                        g_cancellable_cancel (viewer->priv->transaction->cancellable);
+                    }
                     viewer->priv->transaction = NULL;
                 } 
 
@@ -900,7 +903,6 @@ rstto_image_viewer_set_file (RsttoImageViewer *viewer,
             g_object_unref (viewer->priv->iter);
             viewer->priv->iter = NULL;
         }
-
         if (viewer->priv->animation)
         {
             g_object_unref (viewer->priv->animation);
@@ -911,6 +913,14 @@ rstto_image_viewer_set_file (RsttoImageViewer *viewer,
             g_object_unref (viewer->priv->pixbuf);
             viewer->priv->pixbuf = NULL;
         }
+        if (viewer->priv->transaction)
+        {
+            if (FALSE == g_cancellable_is_cancelled (viewer->priv->transaction->cancellable))
+            {
+                g_cancellable_cancel (viewer->priv->transaction->cancellable);
+            }
+            viewer->priv->transaction = NULL;
+        }
         if (viewer->priv->file)
         {
             g_object_unref (viewer->priv->file);


More information about the Xfce4-commits mailing list