Hi all,

Current situation:
1. BypassWindowManagerHint [1] was proposed
2. Used in qtwayland by [2]
3. Because BypassWindowManagerHint == X11BypassWindowManagerHint the Qt
code which sets the X11BypassWindowManagerHint does not work with wayland
plugin.

In case of qtwayland there is need to pass some custom flag from
application code. If someone wants to make it's own shell then
wl_shell_surface should not be created in QWaylandWindow.

Me and Jørgen Lind had chat recently and Jørgen came up with an idea of
using QWindow dynamic properties for such case.

Proposed solution:
1. Add QPlatformWindow::handleDynamicPropertyChange [3]
2. Handle QDynamicPropertyChangeEvent in QWindow::event for "_q_*"
properties, invocation of QPlatformWindow::handleDynamicPropertyChange for
such properties [3]
3. in qwaylandwindow.cpp - remove code using BypassWindowManagerHint -
check window->property("_q_wayland_no_wl_shell_surface") instead [4]

IMHO this should go to stable because it fixes an issue [5].

Any risks of such approach?

[1] https://codereview.qt-project.org/#change,55813
[2] https://codereview.qt-project.org/#change,55794
[3] https://codereview.qt-project.org/#change,74877
[4] https://codereview.qt-project.org/#change,74878
[5]
http://lists.qt-project.org/pipermail/development/2014-January/014891.html

<https://codereview.qt-project.org/#change,55813>
<https://codereview.qt-project.org/#change,55813>--
regards,
Tomasz Olszak
_______________________________________________
Development mailing list
[email protected]
http://lists.qt-project.org/mailman/listinfo/development

Reply via email to