diff options
Diffstat (limited to 'src/desktop.cpp')
| -rw-r--r-- | src/desktop.cpp | 8 |
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) |
