[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    Re: KDE/kdebase/workspace/plasma/containments/panel
From:       Sebastian Sauer <mail () dipe ! org>
Date:       2009-02-23 20:18:45
Message-ID: 20090223201915.6D71640009DC () smtp-out ! kontent ! com
[Download RAW message or body]

Alexis Ménard wrote:

> On Mon, Feb 23, 2009 at 8:18 PM, Sebastian Sauer <mail@dipe.org> wrote:
> 
>> SVN commit 930535 by sebsauer:
>>
>> * fix plasma workspace crashs when changing theme
>> * check return-value of the dyn cast
>>
>> BUG:185242
>>
>>
>>  M  +8 -0      panel.cpp
>>
>>
>> --- trunk/KDE/kdebase/workspace/plasma/containments/panel/panel.cpp
>> #930534:930535
>> @@ -223,6 +223,10 @@
>>  void Panel::appletRemoved(Plasma::Applet* applet)
>>  {
>>     QGraphicsLinearLayout *lay =
>> dynamic_cast<QGraphicsLinearLayout*>(layout());
>> +    if (!lay) {
>> +        return;
>> +    }
>> +
> 
> 
> Why is layout is null? somebody call setLayout(0) or the problem is more
> deeper?

Just grep for layout within that file. It seems there are if(! layout()) 
checks all over the place + the dynamic_cast + the backtrace from bug 
#185242 shows that layout() in Panel::themeUpdated() is NULL and crashes. No 
idea why layout can be NULL here at all but this fixes the reported crash :)

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic