Details
-
Suggestion
-
Resolution: Unresolved
-
P3: Somewhat important
-
None
-
6.4
-
None
Description
void QXcbWindow::setWindowFlags(Qt::WindowFlags flags) { if (shouldDeferTask(Task::SetWindowFlags)) return; Qt::WindowType type = static_cast<Qt::WindowType>(int(flags & Qt::WindowType_Mask)); if (type == Qt::ToolTip) flags |= Qt::WindowStaysOnTopHint | Qt::FramelessWindowHint | Qt::X11BypassWindowManagerHint; if (type == Qt::Popup) flags |= Qt::X11BypassWindowManagerHint;
When applying window flags into platform window, some implicit flags are applied, for example, Qt::ToolTip -> Qt::WindowStaysOnTopHint | Qt::FramelessWindowHint | Qt::X11BypassWindowManagerHint and etc on x11/xcb.
It causes the different flags values between QWindow and platform window. Perhaps we should distinguish them correctly.