[Goodies-commits] r3367 - ristretto/trunk/src

Stephan Arts stephan at xfce.org
Fri Oct 12 22:02:21 CEST 2007


Author: stephan
Date: 2007-10-12 20:02:20 +0000 (Fri, 12 Oct 2007)
New Revision: 3367

Modified:
   ristretto/trunk/src/picture_viewer.c
Log:
Fix cursor



Modified: ristretto/trunk/src/picture_viewer.c
===================================================================
--- ristretto/trunk/src/picture_viewer.c	2007-10-12 19:46:09 UTC (rev 3366)
+++ ristretto/trunk/src/picture_viewer.c	2007-10-12 20:02:20 UTC (rev 3367)
@@ -247,10 +247,6 @@
     /* required for transparent pixbufs... add double buffering to fix flickering*/
     if(GTK_WIDGET_REALIZED(widget))
     {          
-        GdkCursor *cursor = gdk_cursor_new(GDK_WATCH);
-        gdk_window_set_cursor(widget->window, cursor);
-        gdk_cursor_unref(cursor);
-
         GdkPixmap *buffer = gdk_pixmap_new(NULL, widget->allocation.width, widget->allocation.height, gdk_drawable_get_depth(widget->window));
         GdkGC *gc = gdk_gc_new(GDK_DRAWABLE(buffer));
 
@@ -333,9 +329,7 @@
                         widget->allocation.width,
                         widget->allocation.height);
         g_object_unref(buffer);
-
-        gdk_window_set_cursor(widget->window, NULL);
-    }
+   }
 }
 
 static void
@@ -562,10 +556,6 @@
         }
         if(GTK_WIDGET_REALIZED(widget))
         {
-            GdkCursor *cursor = gdk_cursor_new(GDK_WATCH);
-            gdk_window_set_cursor(widget->window, cursor);
-            gdk_cursor_unref(cursor);
-
             gdouble width = (gdouble)gdk_pixbuf_get_width(viewer->priv->src_pixbuf);
             gdouble height = (gdouble)gdk_pixbuf_get_height(viewer->priv->src_pixbuf);
             
@@ -645,8 +635,6 @@
                 gtk_adjustment_value_changed(viewer->hadjustment);
             if (vadjustment_changed == TRUE)
                 gtk_adjustment_value_changed(viewer->vadjustment);
-                
-            gdk_window_set_cursor(widget->window, NULL);
         }
     }
     else
@@ -697,7 +685,7 @@
         {
             viewer->priv->timeout_id = g_timeout_add(time, (GSourceFunc)cb_rstto_picture_viewer_update_image, viewer);
         }
-    
+
         return FALSE;
     }
     return TRUE;
@@ -708,7 +696,7 @@
 {
     GtkWidget *widget = GTK_WIDGET(viewer);
     if(entry)
-    {
+    { 
         if (GTK_WIDGET_REALIZED(widget))
         {
             GdkCursor *cursor = gdk_cursor_new(GDK_WATCH);
@@ -734,20 +722,23 @@
         g_io_channel_set_encoding(viewer->priv->io_channel, NULL, NULL);
         g_io_add_watch(viewer->priv->io_channel, G_IO_IN | G_IO_PRI, (GIOFunc)cb_rstto_picture_viewer_read_file, viewer);
     }
-    if (viewer->priv->src_pixbuf)
+    else
     {
-        g_object_unref(viewer->priv->src_pixbuf);
-        viewer->priv->src_pixbuf = NULL;
+        if (viewer->priv->src_pixbuf)
+        {
+            g_object_unref(viewer->priv->src_pixbuf);
+            viewer->priv->src_pixbuf = NULL;
+        }
+        if (viewer->priv->dst_pixbuf)
+        {
+            g_object_unref(viewer->priv->dst_pixbuf);
+            viewer->priv->dst_pixbuf = NULL;
+        }
+        if (GTK_WIDGET_REALIZED(widget))
+        {
+            rstto_picture_viewer_paint(GTK_WIDGET(viewer));
+        }
     }
-    if (viewer->priv->dst_pixbuf)
-    {
-        g_object_unref(viewer->priv->dst_pixbuf);
-        viewer->priv->dst_pixbuf = NULL;
-    }
-    if (GTK_WIDGET_REALIZED(widget))
-    {
-        rstto_picture_viewer_paint(GTK_WIDGET(viewer));
-    }
 }
 
 static void
@@ -889,15 +880,21 @@
 static void
 cb_rstto_picture_viewer_closed(GdkPixbufLoader *loader, RsttoPictureViewer *viewer)
 {
+    GtkWidget *widget = GTK_WIDGET(viewer);
+
     if (viewer->priv->src_pixbuf)
         gdk_pixbuf_unref(viewer->priv->src_pixbuf);
     if (viewer->priv->iter)
         viewer->priv->src_pixbuf = gdk_pixbuf_animation_iter_get_pixbuf(viewer->priv->iter);
     if (viewer->priv->src_pixbuf)
     {
-        gdk_pixbuf_ref(viewer->priv->src_pixbuf);
+        viewer->priv->src_pixbuf = gdk_pixbuf_copy(viewer->priv->src_pixbuf);
 
     }
     rstto_picture_viewer_refresh(viewer);
     rstto_picture_viewer_paint(GTK_WIDGET(viewer));
+    if (GTK_WIDGET_REALIZED(widget))
+    {
+        gdk_window_set_cursor(widget->window, NULL);
+    }
 }




More information about the Goodies-commits mailing list