summaryrefslogtreecommitdiffstats
path: root/src/widgets/kernel
diff options
context:
space:
mode:
authorLiang Qi <liang.qi@theqtcompany.com>2016-02-11 08:24:34 +0100
committerLiang Qi <liang.qi@theqtcompany.com>2016-02-11 08:25:04 +0100
commitd456f87ece0323982b7601047712545ab95426ad (patch)
tree46b90468b01144615f280620d73763fc189d25ac /src/widgets/kernel
parentcc2938b5b6aa07210b04bd48ad8a2830701a06e5 (diff)
parent4fc070a4192d5b914b6f814a8dcab3f552d9abac (diff)
Merge remote-tracking branch 'origin/5.6' into dev
Conflicts: src/corelib/io/qfilesystemwatcher_win.cpp src/corelib/plugin/plugin.pri src/plugins/platforms/cocoa/qcocoaaccessibility.mm tests/auto/corelib/tools/qlocale/tst_qlocale.cpp Change-Id: Id6824631252609a75eff8b68792e4d10095c8fc1
Diffstat (limited to 'src/widgets/kernel')
-rw-r--r--src/widgets/kernel/qapplication.cpp3
-rw-r--r--src/widgets/kernel/qwidget.cpp23
-rw-r--r--src/widgets/kernel/qwidgetbackingstore.cpp6
3 files changed, 19 insertions, 13 deletions
diff --git a/src/widgets/kernel/qapplication.cpp b/src/widgets/kernel/qapplication.cpp
index c431e0bcd6..ebdbdbd3e6 100644
--- a/src/widgets/kernel/qapplication.cpp
+++ b/src/widgets/kernel/qapplication.cpp
@@ -3154,9 +3154,8 @@ bool QApplication::notify(QObject *receiver, QEvent *e)
case QEvent::KeyRelease:
{
bool isWidget = receiver->isWidgetType();
- bool isGraphicsWidget = false;
#ifndef QT_NO_GRAPHICSVIEW
- isGraphicsWidget = !isWidget && qobject_cast<QGraphicsWidget *>(receiver);
+ const bool isGraphicsWidget = !isWidget && qobject_cast<QGraphicsWidget *>(receiver);
#endif
QKeyEvent* key = static_cast<QKeyEvent*>(e);
bool def = key->isAccepted();
diff --git a/src/widgets/kernel/qwidget.cpp b/src/widgets/kernel/qwidget.cpp
index d123bba1d9..7e2e02b58e 100644
--- a/src/widgets/kernel/qwidget.cpp
+++ b/src/widgets/kernel/qwidget.cpp
@@ -6443,13 +6443,13 @@ bool QWidget::hasFocus() const
const QWidget* w = this;
while (w->d_func()->extra && w->d_func()->extra->focus_proxy)
w = w->d_func()->extra->focus_proxy;
- if (QWidget *window = w->window()) {
#ifndef QT_NO_GRAPHICSVIEW
+ if (QWidget *window = w->window()) {
QWExtra *e = window->d_func()->extra;
if (e && e->proxyWidget && e->proxyWidget->hasFocus() && window->focusWidget() == w)
return true;
-#endif
}
+#endif // !QT_NO_GRAPHICSVIEW
return (QApplication::focusWidget() == w);
}
@@ -7946,8 +7946,11 @@ void QWidgetPrivate::show_sys()
invalidateBuffer(q->rect());
q->setAttribute(Qt::WA_Mapped);
// add our window the modal window list (native dialogs)
- if ((q->isWindow() && (!extra || !extra->proxyWidget))
- && q->windowModality() != Qt::NonModal && window) {
+ if (window && q->isWindow()
+#ifndef QT_NO_GRAPHICSVIEW
+ && (!extra || !extra->proxyWidget)
+#endif
+ && q->windowModality() != Qt::NonModal) {
QGuiApplicationPrivate::showModalWindow(window);
}
return;
@@ -8081,8 +8084,11 @@ void QWidgetPrivate::hide_sys()
if (q->testAttribute(Qt::WA_DontShowOnScreen)) {
q->setAttribute(Qt::WA_Mapped, false);
// remove our window from the modal window list (native dialogs)
- if ((q->isWindow() && (!extra || !extra->proxyWidget))
- && q->windowModality() != Qt::NonModal && window) {
+ if (window && q->isWindow()
+#ifndef QT_NO_GRAPHICSVIEW
+ && (!extra || !extra->proxyWidget)
+#endif
+ && q->windowModality() != Qt::NonModal) {
QGuiApplicationPrivate::hideModalWindow(window);
}
// do not return here, if window non-zero, we must hide it
@@ -12875,9 +12881,8 @@ void QWidget::setMask(const QRegion &newMask)
void QWidgetPrivate::setMask_sys(const QRegion &region)
{
Q_Q(QWidget);
- if (const QWindow *window = q->windowHandle())
- if (QPlatformWindow *platformWindow = window->handle())
- platformWindow->setMask(QHighDpi::toNativeLocalRegion(region, window));
+ if (QWindow *window = q->windowHandle())
+ window->setMask(region);
}
/*!
diff --git a/src/widgets/kernel/qwidgetbackingstore.cpp b/src/widgets/kernel/qwidgetbackingstore.cpp
index e6dc579f67..38b23ec439 100644
--- a/src/widgets/kernel/qwidgetbackingstore.cpp
+++ b/src/widgets/kernel/qwidgetbackingstore.cpp
@@ -1248,13 +1248,15 @@ void QWidgetBackingStore::doSync()
// OpenGL content changes. Check if we have such widgets in the special
// dirty list.
QVarLengthArray<QWidget *, 16> paintPending;
- for (int i = 0; i < dirtyRenderToTextureWidgets.count(); ++i) {
+ const int numPaintPending = dirtyRenderToTextureWidgets.count();
+ paintPending.reserve(numPaintPending);
+ for (int i = 0; i < numPaintPending; ++i) {
QWidget *w = dirtyRenderToTextureWidgets.at(i);
paintPending << w;
resetWidget(w);
}
dirtyRenderToTextureWidgets.clear();
- for (int i = 0; i < paintPending.count(); ++i) {
+ for (int i = 0; i < numPaintPending; ++i) {
QWidget *w = paintPending[i];
w->d_func()->sendPaintEvent(w->rect());
if (w != tlw) {