https://bugs.kde.org/show_bug.cgi?id=447798

Urs Fleisch <uflei...@users.sourceforge.net> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|REPORTED                    |RESOLVED
      Latest Commit|                            |https://invent.kde.org/mult
                   |                            |imedia/kid3/commit/51674413
                   |                            |1cbda658c835ca3a9458251738a
                   |                            |91dce
         Resolution|---                         |FIXED

--- Comment #1 from Urs Fleisch <uflei...@users.sourceforge.net> ---
Git commit 516744131cbda658c835ca3a9458251738a91dce by Urs Fleisch.
Committed on 02/01/2022 at 08:58.
Pushed by ufleisch into branch 'master'.

Fix crash when stale tags are read after being stripped

This crash can happen when standard tags are displayed in the
file list (enabled via context menu) and their values are updated
just after stripping their tag. It is enough to strip the tag
using the "Remove" button and then saving. Another way to
reproduce it is using the "Rewrite Tags" action from the file
list context menu, as described in the bug report.

Saving of the stripped tag in TagLibFile::writeTags() called
markTagUnchanged() before setting the corresponding tag to null.
This call then invoked FileProxyModel::onFileModificationChanged(),
emit dataChanged(), further TaggedFileSystemModel::data() to update
the file list and then TagLibFile::getFrame() which tried to read
from the stale tag causing the crash.

Now the state of the tag is updated before the change notification
is emitted so that the subsequent reading of the tags works correctly.

M  +7    -7    src/plugins/taglibmetadata/taglibfile.cpp

https://invent.kde.org/multimedia/kid3/commit/516744131cbda658c835ca3a9458251738a91dce

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to