summaryrefslogtreecommitdiffstats
path: root/src/widgets/kernel
diff options
context:
space:
mode:
Diffstat (limited to 'src/widgets/kernel')
-rw-r--r--src/widgets/kernel/qapplication.cpp1
-rw-r--r--src/widgets/kernel/qwidget.cpp2
-rw-r--r--src/widgets/kernel/qwidgetbackingstore.cpp1
3 files changed, 4 insertions, 0 deletions
diff --git a/src/widgets/kernel/qapplication.cpp b/src/widgets/kernel/qapplication.cpp
index 00f590ebc2..ed10beddd4 100644
--- a/src/widgets/kernel/qapplication.cpp
+++ b/src/widgets/kernel/qapplication.cpp
@@ -1508,6 +1508,7 @@ void QApplicationPrivate::setPalette_helper(const QPalette &palette, const char*
QApplicationPrivate::set_pal = new QPalette(palette);
else
*QApplicationPrivate::set_pal = palette;
+ QCoreApplication::setAttribute(Qt::AA_SetPalette);
}
}
diff --git a/src/widgets/kernel/qwidget.cpp b/src/widgets/kernel/qwidget.cpp
index 1f13a34ac0..b49fd9b3b6 100644
--- a/src/widgets/kernel/qwidget.cpp
+++ b/src/widgets/kernel/qwidget.cpp
@@ -2608,6 +2608,8 @@ QString QWidget::styleSheet() const
void QWidget::setStyleSheet(const QString& styleSheet)
{
Q_D(QWidget);
+ if (data->in_destructor)
+ return;
d->createExtra();
QStyleSheetStyle *proxy = qobject_cast<QStyleSheetStyle *>(d->extra->style);
diff --git a/src/widgets/kernel/qwidgetbackingstore.cpp b/src/widgets/kernel/qwidgetbackingstore.cpp
index f8b8ec5ea3..485cf82078 100644
--- a/src/widgets/kernel/qwidgetbackingstore.cpp
+++ b/src/widgets/kernel/qwidgetbackingstore.cpp
@@ -762,6 +762,7 @@ QWidgetBackingStore::~QWidgetBackingStore()
resetWidget(dirtyRenderToTextureWidgets.at(c));
#ifndef QT_NO_OPENGL
+ delete widgetTextures;
delete dirtyOnScreenWidgets;
#endif
dirtyOnScreenWidgets = 0;