Bug 110299 - Dont try to write tags if they are not changed.
Summary: Dont try to write tags if they are not changed.
Status: RESOLVED FIXED
Alias: None
Product: amarok
Classification: Applications
Component: general (show other bugs)
Version: unspecified
Platform: Gentoo Packages Linux
: NOR wishlist
Target Milestone: ---
Assignee: Amarok Developers
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2005-08-06 18:52 UTC by Erik Parmann
Modified: 2006-06-11 12:32 UTC (History)
0 users

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Erik Parmann 2005-08-06 18:52:11 UTC
Version:           SVN from 06 august 2005 (using KDE KDE 3.3.0)
Installed from:    Gentoo Packages
OS:                Linux

First remove your write permission of a mp3, then add it to the amarok playlist. Then over e.g the album tag, right click and select "Edit album tag". Then just pres CTRL-C (copy) and click somewhere else. So you did not change the tag. But  amarok still tries to write the tag again, and pops upp with a warning. So here I got 2 wishes:
If the tag is not changed, do not try to write it back again. 
If the file is read only, do not alow to edit the tags from amarok. 

I discovered this as I got all my files read only, and sometimes like to copy the album string. Then the easiest is to chose "Edit album tag" and copy it.
Comment 1 Alexandre Oliveira 2005-08-07 01:47:32 UTC
SVN commit 443701 by aoliveira:

Only try to write the new tag if it's different from the old one.
BUG: 110299


 M  +2 -1      playlist.cpp  


--- trunk/extragear/multimedia/amarok/src/playlist.cpp #443700:443701
@@ -1484,7 +1484,8 @@
         if( column == PlaylistItem::Score )
             CollectionDB::instance()->setSongPercentage( item->url().path(), newTag.toInt() );
         else
-            ThreadWeaver::instance()->queueJob( new TagWriter( item, oldTag, newTag, column ) );
+            if (oldTag != newTag)
+                ThreadWeaver::instance()->queueJob( new TagWriter( item, oldTag, newTag, column ) );
     }
 
     m_itemsToChangeTagsFor.clear();