Revision 1200847
Go back to digest for 28th November 2010Bug Fixes in KDE Base
Fix two bugs that were compensating each other in the unittest here:
1) kbuildsycoca would not emit databaseChanged("...") for resources where desktop files had been deleted
2) a name clash ("screensaver.desktop" in both servicetypes and services) made kbuildsycoca4 always
emit databaseChanged("services")
And of course the unittest was for "deleting a desktop file in the services resource" so it was passing by pure chance (and not on Volker's machine which didn't have both desktop files).
Fixed 2) by using resource+path as the key in that dict rather than just path.
and fixed 1) by looking at g_ctimeDict at the end, to see which resources are still there
(which needed the fix for 2 in the first place)
The fix for 1) uncovers a new bug though: databaseChanged("apps") is always emitted, so we never go into the fast path of "no need to save to disk"; I'll look at this tomorrow.
File Changes
- /trunk/KDE/kdelibs/kded
- /kbuildsycoca.cpp
- /kbuildsycoca.h
- /kctimefactory.cpp
- /kctimefactory.h