Version: 0.8.2-beta1 (using KDE 3.5.2, Kubuntu Package 4:3.5.2-0ubuntu6 dapper) Compiler: Target: i486-linux-gnu OS: Linux (i686) release 2.6.15-20-686 when created with digikam and digikam is restarted. This bug is triggered by the debian bug report: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=348887 To reproduce o mkdir ~/Pictures/'bla # bla' # or use konquoror o start digikam ==> digikam display 'bla ' instead of 'bla # bla' and o copy a image via drag and drop fails silently (does nothing) o Trying to download (from USB disk camera) gives an error downloading for every image If one creates a new dir contain a '#' in it via digikam's create new album. Then the dir name is properly shown and works as expected. But when one exits digikam and starts it again, the part after the '#' is now cut of too and above problem/bugs are the consequence. Achim
I've looked in digikam3.db and the complete directory name is in the 'Albums' table. Independendly if the directory with a '#' in it was created via digikam or other tools. So the '#whatever' part of the dirname get's lots during retrieve or display of the dirname. I bet it's the retrieve ;) Achim
SVN commit 535877 by mwiesweg: digikam from trunk: Properly convert filenames to URL When creating a KURL from a QString filename, always use setPath and not the default constructor. setPath will escape characters (such as '#', which means, if you think of HTML, an anchor link). CCBUG: 125926 M +6 -3 albummanager.cpp --- trunk/extragear/graphics/digikam/digikam/albummanager.cpp #535876:535877 @@ -406,11 +406,14 @@ if (info.url.isEmpty() || info.url == "/") continue; + // Despite its name info.url is a QString. + // setPath takes care for escaping characters that are valid for files but not for URLs ('#') + KURL u; + u.setPath(info.url); + QString name = u.fileName(); // Get its parent - KURL u = info.url; - QString name = u.fileName(); QString purl = u.upURL().path(-1); - + PAlbum* parent = d->pAlbumDict.find(purl); if (!parent) {
SVN commit 535879 by mwiesweg: digikam stable branch: Properly create URL from filename. Backport commit 535877. BUG: 125926 M +6 -3 albummanager.cpp --- branches/stable/extragear/graphics/digikam/digikam/albummanager.cpp #535878:535879 @@ -395,11 +395,14 @@ if (info.url.isEmpty() || info.url == "/") continue; + // Despite its name info.url is a QString. + // setPath takes care for escaping characters that are valid for files but not for URLs ('#') + KURL u; + u.setPath(info.url); + QString name = u.fileName(); // Get its parent - KURL u = info.url; - QString name = u.fileName(); QString purl = u.upURL().path(-1); - + PAlbum* parent = d->pAlbumDict.find(purl); if (!parent) {