Details
-
Bug
-
Resolution: Unresolved
-
P1: Critical
-
None
-
6.8
-
None
Description
When a style is calling QWidget::setWindowFlag() inside polish/unpolish to set e.g. Qt::NoDropShadowWindowHint it might create an endless loop when there is also a stylesheet involved.
main.cpp:
QComboBox cbx;
cbx.show();
a.setStyleSheet("blub");
Then add something like this in style polish/unpolsih (see e.g. https://codereview.qt-project.org/c/qt/qtbase/+/613492)
polish(QWidget* widget) { widget->setWindowFlag(Qt::NoDropShadowWindowHint, true); } unpolish(QWidget* widget) { widget->setWindowFlag(Qt::NoDropShadowWindowHint, false); }
This gives a stackoverflow like this:
Attachments
Gerrit Reviews
For Gerrit Dashboard: QTBUG-133332 | ||||||
---|---|---|---|---|---|---|
# | Subject | Branch | Project | Status | CR | V |
616334,8 | QWidget: don't re-polish when style did not change | dev | qt/qtbase | Status: NEW | 0 | 0 |