[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