diff options
| author | Tavmjong Bah <tavmjong@free.fr> | 2017-03-14 10:05:06 +0000 |
|---|---|---|
| committer | tavmjong-free <tavmjong@free.fr> | 2017-03-14 10:05:06 +0000 |
| commit | d300abda7d853f778291aa2dd41c3f26af555e28 (patch) | |
| tree | 1d9030c4990dc4a40f0c0f95f996b52fed58ffc6 /src/widgets/desktop-widget.cpp | |
| parent | Attempt to fix build with dbus enabled. (diff) | |
| download | inkscape-d300abda7d853f778291aa2dd41c3f26af555e28.tar.gz inkscape-d300abda7d853f778291aa2dd41c3f26af555e28.zip | |
Fix zoom reference point when using desktop's zoom widget.
(bzr r15594)
Diffstat (limited to 'src/widgets/desktop-widget.cpp')
| -rw-r--r-- | src/widgets/desktop-widget.cpp | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/widgets/desktop-widget.cpp b/src/widgets/desktop-widget.cpp index 135cdd96f..122b19e22 100644 --- a/src/widgets/desktop-widget.cpp +++ b/src/widgets/desktop-widget.cpp @@ -1898,9 +1898,11 @@ sp_dtw_zoom_value_changed (GtkSpinButton *spin, gpointer data) SPDesktopWidget *dtw = SP_DESKTOP_WIDGET (data); SPDesktop *desktop = dtw->desktop; - Geom::Rect const d = desktop->get_display_area(); + // Zoom around center of window + Geom::Rect const d_canvas = desktop->getCanvas()->getViewbox(); + Geom::Point midpoint = desktop->w2d(d_canvas.midpoint()); g_signal_handler_block (spin, dtw->zoom_update); - desktop->zoom_absolute_center_point (d.midpoint(), zoom_factor); + desktop->zoom_absolute_center_point (midpoint, zoom_factor); g_signal_handler_unblock (spin, dtw->zoom_update); spinbutton_defocus (GTK_WIDGET(spin)); |
