Version: 1.0.0-beta4 (rev.: 1013480) (using 4.3.00 (KDE 4.3.0), Debian packages) Compiler: cc OS: Linux (i686) release 2.6.30-5.slh.1-sidux-686 Reproduce: * Select lots of images (like 20 or more) * Enter a caption or select a tag * Click another image. Now digikam is saving the exif/iptc/... data for all 20 images previously selected. * a) Wait until digikam is done saving. For the newly selected image it isn't possible anymore to enter a description etc until selecting another image and then re-selecting it. * b) Enter a description while digikam is still saving the data. After saving is done, the description will be reverted.
a): Cannot really reproduce. Is it necessary to select 20 images, or can you trigger the bug with one, two or three as well? b) Yes we need to multithread these tasks, make them independent from the UI, maybe integrate to the BQM. But there are a few technical requirements to provide before.
a) It is indeed necessary to select multiple images to keep digikam working for a few seconds. If I were fast enough (or the PC slow enough) I could also trigger it with 3 images, but it would be really hard ;) b) I see. Well, at least avoiding data loss would already be good, and this shouldn't require a major change I guess.
*** Bug 214038 has been marked as a duplicate of this bug. ***
SVN commit 1114056 by mwiesweg: Use MetadataManager to apply the MetadataHub changes. Removes another very annoying use of kapp->processEvents! Also some problems with continuing to change while applying, and with changes applied to wrong images should be fixed. We can no longer know which database change signal originate from our own changes, which means we have to reload in any case. This needs to be further refined. CCBUG: 206127 M +45 -83 imagedescedittab.cpp M +3 -1 imagedescedittab.h WebSVN link: http://websvn.kde.org/?view=rev&revision=1114056
With MetadataManager, the original code causing such was removed. The changes are packaged and all metadata writing is now done in a separate thread. There may be new bugs, but the old bugs must be gone.