Bug 212913 - Plasma resumes KDE startup too soon, making splash go away too soon
Summary: Plasma resumes KDE startup too soon, making splash go away too soon
Status: RESOLVED FIXED
Alias: None
Product: plasma4
Classification: Plasma
Component: general (show other bugs)
Version: unspecified
Platform: openSUSE Unspecified
: NOR normal
Target Milestone: ---
Assignee: Plasma Bugs List
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-11-03 15:25 UTC by Lubos Lunak
Modified: 2009-11-03 22:09 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
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