diff options
Diffstat (limited to 'src/plugins/Ui/skinned/dock.cpp')
| -rw-r--r-- | src/plugins/Ui/skinned/dock.cpp | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/src/plugins/Ui/skinned/dock.cpp b/src/plugins/Ui/skinned/dock.cpp index 47f2183bf..09249be58 100644 --- a/src/plugins/Ui/skinned/dock.cpp +++ b/src/plugins/Ui/skinned/dock.cpp @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2006-2012 by Ilya Kotov * + * Copyright (C) 2006-2018 by Ilya Kotov * * forkotov02@ya.ru * * * * This program is free software; you can redistribute it and/or modify * @@ -19,7 +19,9 @@ ***************************************************************************/ #include <QAction> -#include <QDesktopWidget> +#include <QScreen> +#include <QWindow> +#include <QtDebug> #include <QApplication> #include "dock.h" @@ -53,7 +55,10 @@ void Dock::setMainWidget (QWidget *widget) QPoint Dock::snapDesktop(QPoint npos, QWidget* mv) { - QRect desktopRect = QApplication::desktop()->availableGeometry(mv); + if(!mv->isVisible()) + return npos; + + QRect desktopRect = mv->window()->windowHandle()->screen()->availableGeometry(); int nx = abs (npos.x() - desktopRect.x()); //left-top int ny = abs (npos.y() - desktopRect.y()); |
