summaryrefslogtreecommitdiffstats
path: root/src/widgets/widgets
diff options
context:
space:
mode:
authorFrederik Gladhorn <frederik.gladhorn@digia.com>2013-07-15 10:36:58 +0200
committerFrederik Gladhorn <frederik.gladhorn@digia.com>2013-07-15 10:36:59 +0200
commit1190863fc0855ef25e7239e35da3978f317638bd (patch)
tree92c408f7c53f194639d2a10b82f5c90a85704776 /src/widgets/widgets
parent02afd94ef4c1913735bd650ca93279cfb00dc534 (diff)
parente4484bb15b29b01dba07cbc31c150153f537606a (diff)
Merge remote-tracking branch 'origin/stable' into dev
Diffstat (limited to 'src/widgets/widgets')
-rw-r--r--src/widgets/widgets/qdockwidget.cpp13
-rw-r--r--src/widgets/widgets/qmdisubwindow.cpp2
2 files changed, 12 insertions, 3 deletions
diff --git a/src/widgets/widgets/qdockwidget.cpp b/src/widgets/widgets/qdockwidget.cpp
index 7cd7172ef5..45e3f1b10b 100644
--- a/src/widgets/widgets/qdockwidget.cpp
+++ b/src/widgets/widgets/qdockwidget.cpp
@@ -49,6 +49,7 @@
#include <qevent.h>
#include <qfontmetrics.h>
#include <qwindow.h>
+#include <qscreen.h>
#include <qmainwindow.h>
#include <qrubberband.h>
#include <qstylepainter.h>
@@ -1387,9 +1388,17 @@ bool QDockWidget::event(QEvent *event)
d->toggleViewAction->setChecked(false);
emit visibilityChanged(false);
break;
- case QEvent::Show:
+ case QEvent::Show: {
d->toggleViewAction->setChecked(true);
- emit visibilityChanged(geometry().right() >= 0 && geometry().bottom() >= 0);
+ QPoint parentTopLeft(0, 0);
+ if (isWindow()) {
+ if (const QWindow *window = windowHandle())
+ parentTopLeft = window->screen()->availableVirtualGeometry().topLeft();
+ else
+ parentTopLeft = QGuiApplication::primaryScreen()->availableVirtualGeometry().topLeft();
+ }
+ emit visibilityChanged(geometry().right() >= parentTopLeft.x() && geometry().bottom() >= parentTopLeft.y());
+}
break;
#endif
case QEvent::ApplicationLayoutDirectionChange:
diff --git a/src/widgets/widgets/qmdisubwindow.cpp b/src/widgets/widgets/qmdisubwindow.cpp
index b38dea074f..63d14f2301 100644
--- a/src/widgets/widgets/qmdisubwindow.cpp
+++ b/src/widgets/widgets/qmdisubwindow.cpp
@@ -2927,7 +2927,7 @@ void QMdiSubWindow::showEvent(QShowEvent *showEvent)
#if !defined(QT_NO_SIZEGRIP) && defined(Q_OS_MAC) && !defined(QT_NO_STYLE_MAC)
if (qobject_cast<QMacStyle *>(style()) && !d->sizeGrip
&& !(windowFlags() & Qt::FramelessWindowHint)) {
- d->setSizeGrip(new QSizeGrip(0));
+ d->setSizeGrip(new QSizeGrip(this));
Q_ASSERT(d->sizeGrip);
if (isMinimized())
d->setSizeGripVisible(false);