This is an automated email from the git hooks/post-receive script. x2go pushed a change to branch master in repository x2goclient. from 44e3d2e src/onmainwindow.cpp: support --close-disconnect for direct RDP sessions. Fixes: #1186. new 31c94ee src/onmainwindow.cpp: try to find a display that can hold the window's position fetched from the sizes settings. The 1 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "adds" were already present in the repository and have only been added to this reference. Summary of changes: debian/changelog | 3 +++ src/onmainwindow.cpp | 26 ++++++++++++++++++++------ src/onmainwindow.h | 2 ++ 3 files changed, 25 insertions(+), 6 deletions(-) -- Alioth's /srv/git/code.x2go.org/x2goclient.git//..//_hooks_/post-receive-email on /srv/git/code.x2go.org/x2goclient.git
This is an automated email from the git hooks/post-receive script. x2go pushed a commit to branch master in repository x2goclient. commit 31c94ee69a211f33c5d10dbb14a04e5599f3f8b2 Author: Mihai Moldovan <ionic@ionic.de> Date: Sun Sep 24 15:51:19 2017 +0200 src/onmainwindow.cpp: try to find a display that can hold the window's position fetched from the sizes settings. Use the default if none could be found. --- debian/changelog | 3 +++ src/onmainwindow.cpp | 26 ++++++++++++++++++++------ src/onmainwindow.h | 2 ++ 3 files changed, 25 insertions(+), 6 deletions(-) diff --git a/debian/changelog b/debian/changelog index 503a202..54b1a38 100644 --- a/debian/changelog +++ b/debian/changelog @@ -193,6 +193,9 @@ x2goclient (4.1.1.0-0x2go1) UNRELEASED; urgency=medium - src/onmainwindow.cpp: try to workaround window placement if settings contain a (newly) invalid position (e.g., a position that refers to a disconnected display.) + - src/onmainwindow.cpp: try to find a display that can hold the window's + position fetched from the sizes settings. Use the default if none could + be found. * x2goclient.spec: - Respect %{optflags} and pass QMAKE_STRIP=: to fix missing debug info issues. diff --git a/src/onmainwindow.cpp b/src/onmainwindow.cpp index daf2714..ff1c0e9 100644 --- a/src/onmainwindow.cpp +++ b/src/onmainwindow.cpp @@ -1695,6 +1695,26 @@ void ONMainWindow::loadSettings() mwMax=st.setting()->value ( "mainwindow/maximized", ( QVariant ) false ).toBool(); + /* + * Sanity check for X2Go Client main window position. + * Check whether the given position is within bounds of any connected display. + * Otherwise use the default. + */ + bool placement_found = false; + QDesktopWidget *desktop_widget = QApplication::desktop (); + for (size_t i = 0; i < desktop_widget->screenCount (); ++i) { + QRect tmp_geom = desktop_widget->availableGeometry (i); + + if (((tmp_geom.x () + tmp_geom.width ()) < mwPos.x ()) && + ((tmp_geom.y () + tmp_geom.height ()) < mwPos.y ())) { + placement_found = true; + break; + } + } + + if (!placement_found) { + mwPos = QPoint (20, 20); + } X2goSettings st1 ( "settings" ); @@ -8232,12 +8252,6 @@ void ONMainWindow::slotResize() resize ( mwSize ); move ( mwPos ); - /* - * Make window position a hint, workaround for - * buggy placements on screen coordinates out of range. - */ - setAttribute (Qt::WA_Moved, false); - show(); } else diff --git a/src/onmainwindow.h b/src/onmainwindow.h index 70dc37c..5d3d728 100644 --- a/src/onmainwindow.h +++ b/src/onmainwindow.h @@ -45,6 +45,8 @@ #include <QLocale> #include <QProcessEnvironment> #include <QDirIterator> +#include <QApplication> +#include <QDesktopWidget> #include <libssh/callbacks.h> #include "sshmasterconnection.h" #include "non_modal_messagebox.h" -- Alioth's /srv/git/code.x2go.org/x2goclient.git//..//_hooks_/post-receive-email on /srv/git/code.x2go.org/x2goclient.git