diff options
author | Michael Weghorn <m.weghorn@posteo.de> | 2019-05-11 21:31:33 +0200 |
---|---|---|
committer | Michael Weghorn <m.weghorn@posteo.de> | 2019-05-13 19:44:33 +0200 |
commit | 0e3c3b842e14b9646d3697cf1266be21359e0f13 (patch) | |
tree | a88222760046aedb316ed0f040381f99dfe208f6 /pyuno | |
parent | f4ba484183a1e7b9824f10580d633466c266828f (diff) |
tdf#122293 qt5: Use "alien widgets" by default on Wayland
As described in QWidget doc [1], calling 'QWidget::winId()',
implicitly enforces a native window, i.e. one that has a
native window associated with it.
For this reason, avoid calling 'QWidget::winId()' for the Wayland
case. Quoting QWidget doc:
> Introduced in Qt 4.4, alien widgets are widgets unknown to the windowing
> system. They do not have a native window handle associated with them.
> This feature significantly speeds up widget painting, resizing, and
> removes flicker.
This in particular avoids tdf#122293/QTBUG-75766, which led to
'mousePressEvent's not being emitted unless a mouse button was pressed,
causing non-existent reaction to hovering over objects.
As a consequence to widgets being non-native by default on Wayland,
'Qt5Frame::windowHandle' needs to be adapted to make sure that the
widgets handled in there are native ones, otherwise no window handle
is associated with them.
Probably more needs to be done here to make video playback via GStreamer
work under Wayland, s.a. commit c0d4f3ad3307c ("implement wayland handle
passing for gstreamer") for how it was done for gtk3.
With and without this change, slideshows with videos are currently not
handled properly with kde5 on Wayland (s. tdf#125219).
[1] https://doc.qt.io/qt-5/qwidget.html#native-widgets-vs-alien-widgets
Change-Id: Id46678e0ea594220a1765c3e59d39c41cb8bfe25
Reviewed-on: https://gerrit.libreoffice.org/72164
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Diffstat (limited to 'pyuno')
0 files changed, 0 insertions, 0 deletions