branches/KDE/4.1/kdebase/workspace/libs/plasma

Ambroz Bizjak ambro at b4ever.net
Wed Aug 20 10:46:20 CEST 2008


Ambroz Bizjak wrote:
> Both of the symptoms I described happen when two applet handles are
> attached to the same applet (very rare!).
> When a handle disappears, it emits AppletHandle::disappearDone and
> triggers ContainmentPrivate::handleDisappeared, which removes it from its
> list of handles and calls deleteLater on it. For some reason, if the
> cursor reenters the applet exactly the time the handle disappears,
> immediately after that the mouse enter event triggers
> Containment::sceneEventFilter, which creates a new applet handle -
> before(!) the previous handle is automatically deleted. The two seem to
> conflict and exhibit weird behavior.
>
> A solution would be to wait until the handle is actually deleted and then
> create a new one if needed. I'll try to code a fix tomorrow.

I think I've fixed that. I did it by detaching the old handle from the
applet before calling deleteLater to prevent any interference with the new
handle.
The patch also makes the reappear code cleaner.
I've been testing thinks and am not aware of any regressions my changes
(previous and this one) caused.
I'm attaching the fix for trunk and 4.1.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: applethandle-disappear.patch
Type: application/octet-stream
Size: 3794 bytes
Desc: not available
Url : http://mail.kde.org/pipermail/plasma-devel/attachments/20080820/0ed3bed4/attachment.dll 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: applethandle-disappear-4.1.patch
Type: application/octet-stream
Size: 3746 bytes
Desc: not available
Url : http://mail.kde.org/pipermail/plasma-devel/attachments/20080820/0ed3bed4/attachment-0001.dll 


More information about the Plasma-devel mailing list