[gthumb] viewer: do not call a zoom_changed when changing image
- From: Paolo Bacchilega <paobac src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gthumb] viewer: do not call a zoom_changed when changing image
- Date: Sat, 9 Nov 2013 20:03:18 +0000 (UTC)
commit 735d09a498348d0b024761afb5b16d1c68fa8ffa
Author: Paolo Bacchilega <paobac src gnome org>
Date: Sun Oct 13 12:10:49 2013 +0200
viewer: do not call a zoom_changed when changing image
this avoids some useless scaling
gthumb/gth-image-viewer.c | 15 +++++++++++----
1 files changed, 11 insertions(+), 4 deletions(-)
---
diff --git a/gthumb/gth-image-viewer.c b/gthumb/gth-image-viewer.c
index 040b830..c82d091 100644
--- a/gthumb/gth-image-viewer.c
+++ b/gthumb/gth-image-viewer.c
@@ -120,6 +120,7 @@ struct _GthImageViewerPrivate {
gboolean just_focused;
gboolean black_bg;
gboolean skip_zoom_change;
+ gboolean update_image_after_zoom;
gboolean reset_scrollbars;
GList *painters;
@@ -358,7 +359,10 @@ set_zoom (GthImageViewer *self,
self->priv->zoom_level = zoom_level;
_gth_image_viewer_update_image_area (self);
- gth_image_viewer_tool_zoom_changed (self->priv->tool);
+ if (self->priv->update_image_after_zoom)
+ gth_image_viewer_tool_image_changed (self->priv->tool);
+ else
+ gth_image_viewer_tool_zoom_changed (self->priv->tool);
if (! self->priv->skip_zoom_change)
g_signal_emit (G_OBJECT (self),
@@ -1560,6 +1564,7 @@ gth_image_viewer_init (GthImageViewer *self)
self->priv->doing_zoom_fit = FALSE;
self->priv->skip_zoom_change = FALSE;
+ self->priv->update_image_after_zoom = FALSE;
self->priv->is_void = TRUE;
self->x_offset = 0;
@@ -1652,10 +1657,12 @@ _gth_image_viewer_content_changed (GthImageViewer *self,
self->y_offset = 0;
}
- gth_image_viewer_tool_image_changed (self->priv->tool);
-
- if (better_quality)
+ if (better_quality || ! self->priv->zoom_enabled) {
+ gth_image_viewer_tool_image_changed (self->priv->tool);
return;
+ }
+
+ self->priv->update_image_after_zoom = TRUE;
switch (self->priv->zoom_change) {
case GTH_ZOOM_CHANGE_ACTUAL_SIZE:
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]