summaryrefslogtreecommitdiffstats
path: root/src/desktop.cpp
diff options
context:
space:
mode:
authorJon A. Cruz <jon@joncruz.org>2011-02-19 20:10:53 +0000
committerJon A. Cruz <jon@joncruz.org>2011-02-19 20:10:53 +0000
commit5591416acb4dda87305c3329b66eefb940ddde5c (patch)
tree2ca49db5a5f7c796927fc2556e60a1863bc0aab3 /src/desktop.cpp
parentBucket. Lowering the maximum shrink value (see Bug #587769, Paint Bucket: Upp... (diff)
downloadinkscape-5591416acb4dda87305c3329b66eefb940ddde5c.tar.gz
inkscape-5591416acb4dda87305c3329b66eefb940ddde5c.zip
Fix the zoom changed signal to no longer be sent out before the values have finished changing.
(bzr r10058)
Diffstat (limited to 'src/desktop.cpp')
-rw-r--r--src/desktop.cpp8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/desktop.cpp b/src/desktop.cpp
index b382a1d91..8a4122e78 100644
--- a/src/desktop.cpp
+++ b/src/desktop.cpp
@@ -769,6 +769,7 @@ void
SPDesktop::set_display_area (double x0, double y0, double x1, double y1, double border, bool log)
{
g_assert(_widget);
+ bool zoomChanged = false;
// save the zoom
if (log) {
@@ -802,7 +803,7 @@ SPDesktop::set_display_area (double x0, double y0, double x1, double y1, double
_w2d = Geom::Scale(1/newscale, 1/-newscale);
sp_canvas_item_affine_absolute(SP_CANVAS_ITEM(main), _d2w);
clear = TRUE;
- signal_zoom_changed.emit(_d2w.descrim());
+ zoomChanged = true;
}
/* Calculate top left corner (in document pixels) */
@@ -818,6 +819,11 @@ SPDesktop::set_display_area (double x0, double y0, double x1, double y1, double
_widget->updateRulers();
_widget->updateScrollbars(_d2w.descrim());
_widget->updateZoom();
+
+
+ if ( zoomChanged ) {
+ signal_zoom_changed.emit(_d2w.descrim());
+ }
}
void SPDesktop::set_display_area(Geom::Rect const &a, Geom::Coord b, bool log)