Version: (using KDE 4.4.1) OS: Linux Installed from: Archlinux Packages When I remove metadata from an image (for example with Image->Metadata->Remove XMP) and assign a tag after that to the image (for example Persons->Andi), the metadata is not updated correctly in the XMP metadata tab on the right side. When I remove this tag again (right click->remove tag->andi), the metadata is displayed correctly in the XMP metadata tab, I can see "Persons/Andi" now (besides a lot of other information that was not visible before). When I restart, digiKam also displays the metadata correctly, so I guess some update signal is missing?
There is no caching in the metadata tab, it is always directly read from the file. So there should be no additional effect from restarting; selecting another picture and going back should also update the XMP values. The way to update this tab is ImageAttributesWatch::instance()->fileMetadataChanged(url), as called from KipiInterface::refreshImages.
Ok, I can reproduce one problem here: When adding a tag with the context menu, all but the last added tag are written to metadata. So when you start with empty XMP and add five tags in a row, the first four will be added. This is the data present in the file itself, not any caching or restarting effect. Assigning from metadata tab is not affected, so it's probably a MetadataManager problem.
SVN commit 1102037 by mwiesweg: Make sure that transaction (only needed for sqlite speedup) is finished before emitting for writing. Otherwise, not all changes may have taken effect. (basically indentation changes) CCBUG: 229578 M +27 -23 metadatamanager.cpp WebSVN link: http://websvn.kde.org/?view=rev&revision=1102037
SVN commit 1102038 by mwiesweg: Use a direct connection here so that cache is invalidated immediately with the change. It's mutex protected. BUG: 229578 M +2 -1 NEWS M +6 -3 libs/database/imageinfocache.cpp WebSVN link: http://websvn.kde.org/?view=rev&revision=1102038