[gthumb] dragger: make sure the widget is redrawn after changing the image
- From: Paolo Bacchilega <paobac src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gthumb] dragger: make sure the widget is redrawn after changing the image
- Date: Sat, 9 Nov 2013 20:10:01 +0000 (UTC)
commit fb3446e5e93d2ca6bc6c6778f1236d04f9b8a503
Author: Paolo Bacchilega <paobac src gnome org>
Date: Sun Nov 3 18:28:13 2013 +0100
dragger: make sure the widget is redrawn after changing the image
gthumb/gth-image-dragger.c | 16 ++++++++++++----
1 files changed, 12 insertions(+), 4 deletions(-)
---
diff --git a/gthumb/gth-image-dragger.c b/gthumb/gth-image-dragger.c
index a457901..649b1dd 100644
--- a/gthumb/gth-image-dragger.c
+++ b/gthumb/gth-image-dragger.c
@@ -495,15 +495,21 @@ _gth_image_dragger_update_scaled_image (GthImageDragger *self)
if (self->priv->viewer == NULL)
return;
- if (gth_image_viewer_is_animation (self->priv->viewer))
+ if (gth_image_viewer_is_animation (self->priv->viewer)) {
+ gtk_widget_queue_draw (GTK_WIDGET (self->priv->viewer));
return;
+ }
image = gth_image_viewer_get_current_image (self->priv->viewer);
- if ((image == NULL) || (cairo_surface_status (image) != CAIRO_STATUS_SUCCESS))
+ if ((image == NULL) || (cairo_surface_status (image) != CAIRO_STATUS_SUCCESS)) {
+ gtk_widget_queue_draw (GTK_WIDGET (self->priv->viewer));
return;
+ }
- if (gth_image_viewer_get_zoom_quality (self->priv->viewer) == GTH_ZOOM_QUALITY_LOW)
+ if (gth_image_viewer_get_zoom_quality (self->priv->viewer) == GTH_ZOOM_QUALITY_LOW) {
+ gtk_widget_queue_draw (GTK_WIDGET (self->priv->viewer));
return;
+ }
zoom_from_original = gth_image_viewer_get_zoom (self->priv->viewer);
gth_image_viewer_get_original_size (self->priv->viewer, &original_width, &original_height);
@@ -513,8 +519,10 @@ _gth_image_dragger_update_scaled_image (GthImageDragger *self)
image_height = cairo_image_surface_get_height (image);
zoom_from_image = (double) new_width / image_width;
- if (zoom_from_image >= 1.0)
+ if (zoom_from_image >= 1.0) {
+ gtk_widget_queue_draw (GTK_WIDGET (self->priv->viewer));
return;
+ }
if (image_width * image_height <= SIZE_TOO_BIG_FOR_SCALE_BILINEAR) {
self->priv->scaled = _cairo_image_surface_scale_bilinear (image, new_width, new_height);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]