Extender tutorial on techbase

Rob Scheepmaker r.scheepmaker at student.utwente.nl
Fri Sep 12 17:00:15 CEST 2008


On Friday 12 September 2008 16:16:05 Marco Martin wrote:
> it always remain the second problemof the crash on add:
> it seem to happen only when there is a proxywidget in the extenderitem
> (aah, qt bug? deletelater crashes for proxywidgets perhaps?)
> if there is a normal graphicswidget like a plasma::icon it doesn't crash,
> but when a clock is added to the desktop the popup is empty, because the
> extender item has been deleted by an applet save state
>

That doesn't surprise me, proxywidgets are a bit, well, crashy sometimes.

I also did some experimenting myself. The problem is that I kinda assumed 
save() would only get called when plasma quits. The reason the clock does work 
when it's in the config file, and not if you add it after plasma is started, 
is that the animationComplete for the applet appear animation calls save, 
which deletes the item which is actually not supposed to get destroyed at that 
point. Kuiserver doesn't have this problem since items are only added after 
new kjobs are being registerd, after which the animation is already completed.

The real solution to this problem would of course be making sure that calling 
save() is always safe, and destroying non persistent extenderitems when plasma 
actually quits. I'm going to look for a place I can move the calls to 
destroy() to, to make this happen.

Regards,
Rob Scheepmaker



More information about the Plasma-devel mailing list