summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/widgets/kernel/qwidget.cpp3
-rw-r--r--src/widgets/widgets/qcombobox.cpp2
-rw-r--r--src/widgets/widgets/qeffects.cpp2
3 files changed, 5 insertions, 2 deletions
diff --git a/src/widgets/kernel/qwidget.cpp b/src/widgets/kernel/qwidget.cpp
index d41e80fad00..c2b78e86030 100644
--- a/src/widgets/kernel/qwidget.cpp
+++ b/src/widgets/kernel/qwidget.cpp
@@ -4757,6 +4757,7 @@ QPixmap QWidget::grab(const QRect &rectangle)
const QWidget::RenderFlags renderFlags = QWidget::DrawWindowBackground | QWidget::DrawChildren | QWidget::IgnoreMask;
+ const bool oldDirtyOpaqueChildren = d->dirtyOpaqueChildren;
QRect r(rectangle);
if (r.width() < 0 || r.height() < 0) {
// For grabbing widgets that haven't been shown yet,
@@ -4772,6 +4773,8 @@ QPixmap QWidget::grab(const QRect &rectangle)
if (!d->isOpaque)
res.fill(Qt::transparent);
render(&res, QPoint(), QRegion(r), renderFlags);
+
+ d->dirtyOpaqueChildren = oldDirtyOpaqueChildren;
return res;
}
diff --git a/src/widgets/widgets/qcombobox.cpp b/src/widgets/widgets/qcombobox.cpp
index 916ec2ff09e..82e005ec79b 100644
--- a/src/widgets/widgets/qcombobox.cpp
+++ b/src/widgets/widgets/qcombobox.cpp
@@ -2470,7 +2470,7 @@ void QComboBox::showPopup()
const bool updatesEnabled = container->updatesEnabled();
#endif
-#if defined(Q_WS_WIN) && !defined(QT_NO_EFFECTS)
+#if !defined(QT_NO_EFFECTS)
bool scrollDown = (listRect.topLeft() == below);
if (QApplication::isEffectEnabled(Qt::UI_AnimateCombo)
&& !style->styleHint(QStyle::SH_ComboBox_Popup, &opt, this) && !window()->testAttribute(Qt::WA_DontShowOnScreen))
diff --git a/src/widgets/widgets/qeffects.cpp b/src/widgets/widgets/qeffects.cpp
index 452f04ea6b1..c6e71542382 100644
--- a/src/widgets/widgets/qeffects.cpp
+++ b/src/widgets/widgets/qeffects.cpp
@@ -162,7 +162,7 @@ void QAlphaWidget::run(int time)
move(widget->geometry().x(),widget->geometry().y());
resize(widget->size().width(), widget->size().height());
- frontImage = widget->grab(QRect()).toImage();
+ frontImage = widget->grab().toImage();
backImage = QGuiApplication::primaryScreen()->grabWindow(QApplication::desktop()->winId(),
widget->geometry().x(), widget->geometry().y(),
widget->geometry().width(), widget->geometry().height()).toImage();