Solid upower backend and kdeinit crash...

Dawit A adawit at
Fri Oct 29 18:48:49 BST 2010


The upower backend, more specifically the XRandrBrightness class,
causes kdeinit to crash on my system when you come back from screen
lock mode. This happens because when the check for the backlight
property fails in the constructor of XRandrBrightness, which happens
on my system, it returns immediately. That leaves the m_resources
variable set to NULL. Unfortunately both the brightness and
setBrightness member functions use m_resources without even bothering
to check whether it is null or not and hence the crash. Actually, the
call to XRandrBrightness::brightness can be traced one step back to
PowerDevilUPowerBackend::brightness which also does not bother to
check whether the action it wants to obtain is supported or not before
calling it, i.e. it does not do  XRandrBrightness::isSupported...

Anyhow, the issue can be fixed in a couple of ways, not returning when
backlight check fails in ctor or checking validity of the m_resources
pointer before using it. Not sure which would be the correct fix
though. Any ideas ?

More information about the kde-core-devel mailing list