summaryrefslogtreecommitdiffstats
path: root/src/sp-namedview.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/sp-namedview.cpp')
-rw-r--r--src/sp-namedview.cpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/sp-namedview.cpp b/src/sp-namedview.cpp
index 15f2d6d72..47720c5d6 100644
--- a/src/sp-namedview.cpp
+++ b/src/sp-namedview.cpp
@@ -745,12 +745,14 @@ void sp_namedview_window_from_document(SPDesktop *desktop)
} else {
gint w = MIN(gdk_screen_width(), nv->window_width);
gint h = MIN(gdk_screen_height(), nv->window_height);
+ // prevent the window from moving off the screen to the right or to the bottom
gint x = MIN(gdk_screen_width() - MIN_ONSCREEN_DISTANCE, nv->window_x);
gint y = MIN(gdk_screen_height() - MIN_ONSCREEN_DISTANCE, nv->window_y);
+ // prevent the window from moving off the screen to the left or to the top
+ x = MAX(MIN_ONSCREEN_DISTANCE - nv->window_width, x);
+ y = MAX(MIN_ONSCREEN_DISTANCE - nv->window_height, y);
if (w>0 && h>0) {
desktop->setWindowSize(w, h);
- x = MIN(gdk_screen_width() - w, x);
- y = MIN(gdk_screen_height() - h, y);
desktop->setWindowPosition(Geom::Point(x, y));
}
}