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

List:       kde-commits
Subject:    Re: branches/KDE/3.5/kdelibs/kio/kio
From:       Michael Brade <brade () kde ! org>
Date:       2005-11-20 10:48:53
Message-ID: 200511201148.57146.brade () kde ! org
[Download RAW message or body]


Just found this while skimming through kde-commits:

> SVN commit 479280 by aseigo:
>
> in kicker when we have items in the menu that use dirlister, they get
> deleted at a point when the dirlister has had its holders removed so
> calls to forgetDirs fail.
Can you please explain a little better? You SHOULD NOT (!!) delete your items 
yourself, the KDirListerCache does it for you!

> so instead of using ASSERTS we just check for 
> the pointers instead of assert()ing them and voila! the kdirlister crash is
> gone! huzzah! BUG:113242
Why didn't you tell me about this and/or send me some debugging output?? The 
patch is completely wrong!!! And will break in cases that will be VERY hard 
to debug now. Don't you think there's a reason for an assert? Rule of thumb: 
*never* remove an assert in KDirListerCache, some might be redundant, but 
none of them is worng! (I didn't even see the patch on kde-core-devel?)

Basically what can happen now is that other KDirListers are still using the 
items of that directory and you delete it anyway. That will crash. An update 
might be running while you are removing the dir the update is running on 
without stopping the update -> crash. There's probably a lot more 
possibilities that can go wrong now, so please let's fix this correctly and 
revert this patch before KDE 3.5.

PS: the worst thing is that I only found out now, three days before my last 
but one diploma examination :-(

-- 
Michael Brade;                 KDE Developer, Student of Computer Science
  |-mail: echo brade !#|tr -d "c oh"|s\e\d 's/e/\@/2;s/$/.org/;s/bra/k/2'
   °--web: http://www.kde.org/people/michaelb.html

KDE 3: The Next Generation in Desktop Experience

[Attachment #3 (application/pgp-signature)]

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

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