I'm trying to run qtbase auto tests with wayland plugin. QTest::mouseClick freezes on wl_display_dispatch_queue (see [1]). The reason of this is because widget created in test returns correct geometry and isVisible() == true but is not visible in weston. I have found out that it is caused by: setWindowFlags(Qt::FramelessWindowHint | Qt::X11BypassWindowManagerHint); statement... but actually by setting Qt::X11BypassWindowManagerHint == Qt::BypassWindowManagerHint flag.
The special handling of BypassWindowManagerHint was introduced in [2] with comment: "Custom window types might want to set BypassWinowManagerHint and use the native Wayland API together with the platform native interface. In this case wl_shell_surface won't be used." Is it true? There are plenty of Qt::X11BypassWindowManagerHint flags in widgets autotests and I think that the purpose was totally different there. If I create QLabel with Qt::X11BypassWindowManagerHint or Qt::BypassWindowManagerHint flag and don't have any idea about wayland it would not show up when wayland platform plugin is used. IMHO having BypassWindowManagerHint which behaves different depending of platform plugin is dangerous. Or maybe X11BypassWindowManagerHint should not equal to BypassWindowManagerHint. Any ideas how to solve this issue? [1] http://pastebin.com/T9qveh1x [2] https://codereview.qt-project.org/#patch,sidebyside,55794,2,src/plugins/platforms/wayland_common/qwaylandwindow.cpp -- regards, Tomasz Olszak Qt for Tizen | http://qt-project.org/wiki/Tizen
_______________________________________________ Development mailing list [email protected] http://lists.qt-project.org/mailman/listinfo/development
