Version: 0.9.2 (using KDE KDE 3.5.7) Installed from: Gentoo Packages OS: Linux All of the image plugins in the 'Color' menu lack color managed previews. How strange is that?? :-)
Created attachment 21545 [details] patch to enable CM in previews The missing CM seems to be caused by not applying the image's workspace/ embedded profile.
Arnd, Patch is fine for me. you can apply it on svn. please CCBUGS this file and tags your commit with KDE4PORT. I will backport it later Thanks in advance Gilles
SVN commit 708196 by abaecker: enable colormanagement in previews CCBUGS: 148648 TODO:KDE4PORT M +2 -1 NEWS M +4 -0 libs/widgets/imageplugins/imageguidewidget.cpp M +1 -0 utilities/imageeditor/editor/imageiface.cpp --- branches/extragear/kde3/graphics/digikam/NEWS #708195:708196 @@ -38,4 +38,5 @@ 025 ==> 139024 : camera GUI new items selection doesn't work. 026 ==> 139519 : digiKam silently fails to import when out of disc space. 027 ==> 149469 : excessive trash confirmation dialogs after album is deleted. -028 ==> +028 ==> 148648 : Color managed previews not working in all plugins +029 ==> --- branches/extragear/kde3/graphics/digikam/libs/widgets/imageplugins/imageguidewidget.cpp #708195:708196 @@ -121,6 +121,8 @@ bool sixteenBit = d->iface->previewSixteenBit(); bool hasAlpha = d->iface->previewHasAlpha(); d->preview = DImg(d->width, d->height, sixteenBit, hasAlpha, data); + d->preview.setICCProfil( d->iface->getOriginalImg()->getICCProfil() ); + delete [] data; d->pixmap = new QPixmap(w, h); @@ -478,6 +480,8 @@ bool sixteenBit = d->iface->previewSixteenBit(); bool hasAlpha = d->iface->previewHasAlpha(); d->preview = DImg(d->width, d->height, sixteenBit, hasAlpha, data); + d->preview.setICCProfil( d->iface->getOriginalImg()->getICCProfil() ); + delete [] data; d->pixmap = new QPixmap(w, h); --- branches/extragear/kde3/graphics/digikam/utilities/imageeditor/editor/imageiface.cpp #708195:708196 @@ -227,6 +227,7 @@ { d->targetPreviewImage = DImg(d->previewImage.width(), d->previewImage.height(), d->previewImage.sixteenBit(), d->previewImage.hasAlpha(), data); + d->targetPreviewImage.setICCProfil( d->previewImage.getICCProfil() ); } else {
SVN commit 708229 by cgilles: digiKam from trunk (KDE4) : backport commits #708196 from KDE3 branch CCBUGS: 148648 M +2 -0 imageguidewidget.cpp --- trunk/extragear/graphics/digikam/libs/widgets/imageplugins/imageguidewidget.cpp #708228:708229 @@ -125,6 +125,7 @@ bool sixteenBit = d->iface->previewSixteenBit(); bool hasAlpha = d->iface->previewHasAlpha(); d->preview = DImg(d->width, d->height, sixteenBit, hasAlpha, data); + d->preview.setICCProfil( d->iface->getOriginalImg()->getICCProfil() ); delete [] data; d->pixmap = new QPixmap(w, h); @@ -484,6 +485,7 @@ bool sixteenBit = d->iface->previewSixteenBit(); bool hasAlpha = d->iface->previewHasAlpha(); d->preview = DImg(d->width, d->height, sixteenBit, hasAlpha, data); + d->preview.setICCProfil( d->iface->getOriginalImg()->getICCProfil() ); delete [] data; d->pixmap = new QPixmap(w, h);
SVN commit 708230 by cgilles: digiKam from trunk (KDE4) : backport commits #708196 from KDE3 branch BUG: 148648 M +1 -0 imageiface.cpp --- trunk/extragear/graphics/digikam/utilities/imageeditor/editor/imageiface.cpp #708229:708230 @@ -227,6 +227,7 @@ { d->targetPreviewImage = DImg(d->previewImage.width(), d->previewImage.height(), d->previewImage.sixteenBit(), d->previewImage.hasAlpha(), data); + d->targetPreviewImage.setICCProfil( d->previewImage.getICCProfil() ); } else {