Summary: | digiKam crashes when changing some settings and using "find similar" after the changes made | ||
---|---|---|---|
Product: | [Applications] digikam | Reporter: | Andi Clemens <andi.clemens> |
Component: | Searches-Similarity | Assignee: | Digikam Developers <digikam-bugs-null> |
Status: | RESOLVED FIXED | ||
Severity: | crash | ||
Priority: | NOR | ||
Version: | 0.10.0 | ||
Target Milestone: | --- | ||
Platform: | unspecified | ||
OS: | Linux | ||
Latest Commit: | Version Fixed In: | 0.10.0 | |
Attachments: | backtrace |
Description
Andi Clemens
2008-07-14 00:23:58 UTC
It seems to crash also when in normal album view tab, changing the settings and clicking on "fuzzy searches - Image". Created attachment 26100 [details]
backtrace
After setup a lot of reinitialization is triggered (as anything might have changed) and also Album objects (kept in AlbumManager) are recreated. I was not aware of this problem until recently. It occurs everywhere and Album* is stored (in this case, SAlbum*) and AlbumManager signals are not listened. I am thinking about either implementing to listen to the signals in affected class, or, as a more general solution, implement a safe Album pointer class that does the signal listening. Yes, the latter can be better. Yes, this sounds plausible... SVN commit 838092 by mwiesweg: The class AlbumPointer provides a guarded pointer to Album* or one of the subclasses. When the album is deleted, the pointer is set to 0. Implementation is inspired by QPointer<>. Accompanying changes: Make Album destructor protected. This should only be accessible from AlbumManager. Install a private shortcut to access AlbumManager instance from Album (for updating guarded pointers). K_GLOBAL_STATIC instance is not accessible from call stacks going out from the destructor. CCBUG: 166484 M +1 -0 album.cpp M +12 -12 album.h M +46 -1 albummanager.cpp M +53 -0 albummanager.h WebSVN link: http://websvn.kde.org/?view=rev&revision=838092 SVN commit 838093 by mwiesweg: Use AlbumPointer for storing SAlbums BUG: 166484 M +2 -2 fuzzysearchview.cpp WebSVN link: http://websvn.kde.org/?view=rev&revision=838093 |