Version: 0.8.1 (using KDE KDE 3.5.3) Installed from: SuSE RPMs When exporting albums with images selected by tag, digikam may write k3b project files with the same filename for images coming from different albums. To reproduce, create two albums (e.g. "a" and "b"), put an image "test.jpg" into both of them, give both the same tag, for example "duplitate_test", and archive to cd using this tag. The resulting k3b project file will have somthing like <file url="<path>/a/test.jpg>test.jpg</file> <file url="<path>/b/test.jpg>test.jpg</file> in it. As a result, k3b will hang indefinitely.
Just a curiosity, does html export work well in such a situation?
SVN commit 567902 by anaselli: BUG: 131284 M +70 -44 cdarchiving.cpp M +5 -2 cdarchiving.h
SVN commit 567951 by anaselli: CCBUG: 131284 Fixed the case in which under the same tag there are two files with similar name but some upper case letters using HTML interface. M +7 -2 cdarchiving.cpp --- trunk/extragear/libs/kipi-plugins/cdarchiving/cdarchiving.cpp #567950:567951 @@ -790,7 +790,7 @@ ++urlIt) { QFileInfo imInfo( (*urlIt).fileName()); - QString imgName = makeFileNameUnique(fileNameList, imInfo.baseName(TRUE)); + QString imgName = makeFileNameUnique(fileNameList, webifyFileName(imInfo.baseName(TRUE))); } for( KURL::List::iterator urlIt = images.begin() ; !m_cancelled && (urlIt != images.end()); @@ -1690,6 +1690,7 @@ KURL::List images = collection.images(); kdDebug( 51000 ) << " Files: " << images.size() << endl; QStringList fileNameList; + QString fName; for (KURL::List::iterator it = images.begin(); (it != images.end()) && !m_cancelled; ++it) @@ -1697,8 +1698,12 @@ kdDebug( 51000 ) << " Filename: " << (*it).fileName() << endl; QFileInfo fInfo((*it).fileName()); - QString fName = makeFileNameUnique(fileNameList, fInfo.baseName(TRUE)) + if (m_useHTMLInterface) + fName = makeFileNameUnique(fileNameList, webifyFileName(fInfo.baseName(TRUE))) + "." + fInfo.extension( FALSE ); + else + fName = makeFileNameUnique(fileNameList, fInfo.baseName(TRUE)) + + "." + fInfo.extension( FALSE ); kdDebug( 51000 ) << " Unique filename: " << fName << endl; kdDebug( 51000 ) << "num of unique files: "<< fileNameList.size() << endl;