Bug 212913

Summary: Plasma resumes KDE startup too soon, making splash go away too soon
Product: [Plasma] plasma4 Reporter: Lubos Lunak <l.lunak>
Component: generalAssignee: Plasma Bugs List <plasma-bugs>
Status: RESOLVED FIXED    
Severity: normal CC: sven.burmeister
Priority: NOR    
Version: unspecified   
Target Milestone: ---   
Platform: openSUSE   
OS: Unspecified   
Latest Commit: Version Fixed In:

Description Lubos Lunak 2009-11-03 15:25:30 UTC
Version:            (using KDE 4.3.1)
Installed from:    openSUSE RPMs

It appears that Plasma's usage of the suspendStartup/resumeStartup DBUS calls to ksmserver is not correct. It can be quite easily seen during KDE startup that the splash first goes away and only after that Plasma paints the panel and wallpaper (especially in cases like first KDE startup of a new user or a livecd in virtualbox).

The correct usage of suspendStartup/resumeStartup is to call suspendStartup at the beginning, even before KApplication ctor, and call resumeStartup only when Plasma is really ready. As long as there is at least one suspend active, ksmserver will not progress with KDE startup onto another phase.

I don't know details of the Plasma code, but after a quick look there are two potential problems:

- it looks to me like the "workspace desktop" suspend may be resumed even before the "desktop wallaper" takes place, if the wallpaper is not loaded immediatelly - in this case it's possible the second suspend comes too late and doesn't do anything in practice

- the "desktop wallaper" suspend may be resumed before the wallpaper is actually painted

Please investigate and fix.
Comment 1 Aaron J. Seigo 2009-11-03 21:23:25 UTC
SVN commit 1044456 by aseigo:

init() isn't called until the first paint event now; which means the startup suspend doesn't happen until we've gone and painted ourselves which is too late: the startup suspend in plasma-desktop has already expired by this point
BUG:212913


 M  +7 -7      image.cpp  


WebSVN link: http://websvn.kde.org/?view=rev&revision=1044456
Comment 2 Aaron J. Seigo 2009-11-03 22:09:56 UTC
SVN commit 1044473 by aseigo:

slightly improved and backported fix for:
CCBUG:212913


 M  +3 -6      image.cpp  


WebSVN link: http://websvn.kde.org/?view=rev&revision=1044473