Details
-
Bug
-
Resolution: Done
-
P2: Important
-
5.6.0
-
None
-
OpenSuse 13.2 with KDE 4/kwin
-
4762fabce16c611f12542a48b0dd31b3cec8e530
Description
After the porting to xcb setting window flags of a widget/dialog does not seem to work properly anymore.
First I encountered this in an application ported to Qt 5 where we remove the Qt::Dialog flag from a QDialog in some cases. This has no effect at all. With Qt 4 the window nicely falls behind its parent and has a statusbar entry.
With Qt 5 this simply has no effect.
The problems can be easily reproduced with the examples app from qtbase/examples/widgets/widgets/windowflags and the Qt 4 version respectively.
In the Qt 4 version all the switches immediately work. Switching between window and dialog works. Enabling and disabling the hints works as well.
With Qt 5 things are immediately behaving weird. The initially created window has a statusbar entry but does not fall behind its parent. When switched to dialog the statusbar entry is gone as expected. Switching back to window does not bring it back as expected.
Setting the window "Window * button" hints does not seem to work properly.
With Qt 5.6 I see no effect at all.
Note: I tested with Qt 5.4.2 as well. There The behavior is different but broken as well. Switching from window to dialog does not remove the task bar entry, e.g. Setting the hints seems to have races. Works sometimes, sometimes not. Sometimes a former state is applied.
Attachments
For Gerrit Dashboard: QTBUG-52550 | ||||||
---|---|---|---|---|---|---|
# | Subject | Branch | Project | Status | CR | V |
155869,6 | xcb: Fix transient parent and "Qt::Window" flag | 5.6 | qt/qtbase | Status: MERGED | +2 | 0 |