Hi,

I find the reason is:
when the mouse leaves the QGraphicsWidget but still on the taskbar, the taskbar
receives a QEvent::GraphicsSceneHoverEnter, then the tooltipmanager will call
show(widget). And In function show(), hideTimer is stopped, and some time later,
function showToolTip() will be called. But showToolTip returns at line 356
because tooltip.value().isEmpty().
Now the hideTimer and showTimer are both stopped, so the tooltip will not hide
automatically.

best regards

pwp


Index: tooltipmanager.cpp
===================================================================
--- tooltipmanager.cpp	(revision 988140)
+++ tooltipmanager.cpp	(working copy)
@@ -353,6 +353,11 @@
     QHash<QGraphicsWidget *, ToolTipContent>::const_iterator tooltip = tooltips.constFind(currentWidget);
 
     if (tooltip == tooltips.constEnd() || tooltip.value().isEmpty()) {
+        if (isShown){
+	        delayedHide = true;
+	        hideTimer->start(250);
+        }
+
         return;
     }
 
_______________________________________________
Plasma-devel mailing list
Plasma-devel@kde.org
https://mail.kde.org/mailman/listinfo/plasma-devel

Reply via email to