From c701b8ff659eef690f51b70cdcd38b1ff952cb79 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Peter=20K=C3=BCmmel?= Date: Fri, 13 Apr 2007 13:42:59 +0000 Subject: [PATCH] fix bug 3319: LyX starts offscreen when changing monitor configuration git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17796 a592a061-630c-0410-9148-cb99ea01b6c8 --- src/frontends/qt4/GuiView.C | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/src/frontends/qt4/GuiView.C b/src/frontends/qt4/GuiView.C index 8c0ff308af..f56e4845e6 100644 --- a/src/frontends/qt4/GuiView.C +++ b/src/frontends/qt4/GuiView.C @@ -358,17 +358,17 @@ void GuiView::setGeometry(unsigned int width, // only true when the -geometry option was NOT used if (width != 0 && height != 0) { if (posx != -1 && posy != -1) { - // if there are ever startup positioning problems - // on a virtual desktop then check the 6 lines below + // if there are startup positioning problems: // http://doc.trolltech.com/4.2/qdesktopwidget.html QDesktopWidget& dw = *qApp->desktop(); - QRect desk = dw.availableGeometry(dw.primaryScreen()); - (posx >= desk.width() ? posx = 50 : true); - (posy >= desk.height()? posy = 50 : true); - // don't allow negative coordinates on a non-virtual desktop - if (!dw.isVirtualDesktop()) { - (posx < 0 ? posx = 50 : true); - (posy < 0 ? posy = 50 : true); + if (dw.isVirtualDesktop()) { + if(!dw.geometry().contains(posx, posy)) { + posx = 50; + posy = 50; + } + } else { + // Which system doesn't use a virtual desktop? + // TODO save also last screen number and check if it is still availabe. } #ifdef Q_WS_WIN // FIXME: use setGeometry only when Trolltech has fixed the qt4/X11 bug -- 2.39.2