<span>Oh my God that's awesome.</span><div><br></div><div>HUGE thank you to finding that out, that must have been quite a ride in the Wayland stack 😁</div><div><br></div><div>I'll patch that right away in Flathub package.</div><div><br></div><div>Mathieu<br><br><div class="gmail_quote"><div dir="ltr">Le mar. 31 juil. 2018 à 10:56, Olivier Fourdan <<a href="mailto:ofourdan@redhat.com">ofourdan@redhat.com</a>> a écrit :<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">commit 5815534 ("qt: make the time tooltip a tooltip") reintroduced the<br>
bug fixed by previous commit ea99237 ("remove X11BypassWindowManagerHint<br>
from time tooltip") meant to fix #17829.<br>
<br>
The tooltip window is a shaped, override-redirect window which shows<br>
when the pointer enters the slider and disappears when it leaves the<br>
slider.<br>
<br>
By placing the tooltip window too low, above the slider, vlc causes a<br>
constant map/unmap of that window which will flood Xwayland and the<br>
Wayland compositori.window manager and can up with a deadlock situation.<br>
<br>
When the tooltip window is showing, the pointer will enter the tooltip<br>
window and thus leave the slider, which will cause the tooltip to be<br>
unmapped, which in turn causes the pointer to re-enter the slider area,<br>
which will cause the tooltip to show again, so on and so forth.<br>
<br>
On Wayland/Xwayland where the Wayland compositor (i.e. the display<br>
server) is also the window manager, that can lead to a deadlock<br>
situation because some X11 requests are blocking on rountrips to the<br>
Xserver, which in the case of Xwayland is also a Wayland client, waiting<br>
on the Wayland compositor for some operations, the Wayland compositor<br>
being also a Window manager and an X11 client at the same time...<br>
<br>
Avoid the issue by placing the tooltip so that it does not show up at<br>
the same location where the slider is, without overlap, to avoid that<br>
map/unmap requests storm.<br>
<br>
Closes: <a href="https://gitlab.gnome.org/GNOME/mutter/issues/244" rel="noreferrer" target="_blank">https://gitlab.gnome.org/GNOME/mutter/issues/244</a><br>
Signed-off-by: Olivier Fourdan <<a href="mailto:ofourdan@redhat.com" target="_blank">ofourdan@redhat.com</a>><br>
---<br>
modules/gui/qt/util/timetooltip.cpp | 2 +-<br>
1 file changed, 1 insertion(+), 1 deletion(-)<br>
<br>
diff --git a/modules/gui/qt/util/timetooltip.cpp b/modules/gui/qt/util/timetooltip.cpp<br>
index 1314b520ea..7a63a9d7d9 100644<br>
--- a/modules/gui/qt/util/timetooltip.cpp<br>
+++ b/modules/gui/qt/util/timetooltip.cpp<br>
@@ -73,7 +73,7 @@ void TimeTooltip::adjustPosition()<br>
#if defined( Q_OS_WIN )<br>
mTarget.y() - 2 * size.height() - TIP_HEIGHT / 2 );<br>
#else<br>
- mTarget.y() - size.height() + TIP_HEIGHT / 2 );<br>
+ mTarget.y() - size.height() - TIP_HEIGHT / 2 );<br>
#endif<br>
<br>
// Keep the tooltip on the same screen if possible<br>
-- <br>
2.17.1<br>
<br>
_______________________________________________<br>
vlc-devel mailing list<br>
To unsubscribe or modify your subscription options:<br>
<a href="https://mailman.videolan.org/listinfo/vlc-devel" rel="noreferrer" target="_blank">https://mailman.videolan.org/listinfo/vlc-devel</a></blockquote></div></div>