summaryrefslogtreecommitdiffstats
path: root/src/color-profile.cpp
diff options
context:
space:
mode:
authorJon A. Cruz <jon@joncruz.org>2006-04-03 03:15:17 +0000
committerjoncruz <joncruz@users.sourceforge.net>2006-04-03 03:15:17 +0000
commitb6f389536a636e854124a4a66855d1ef2a8159ea (patch)
treebd295a1b0405703485c776ea411ebae8ef8923ee /src/color-profile.cpp
parentInitial support of color-profile on <image> (diff)
downloadinkscape-b6f389536a636e854124a4a66855d1ef2a8159ea.tar.gz
inkscape-b6f389536a636e854124a4a66855d1ef2a8159ea.zip
Fixed to handle relative file paths
(bzr r403)
Diffstat (limited to 'src/color-profile.cpp')
-rw-r--r--src/color-profile.cpp14
1 files changed, 13 insertions, 1 deletions
diff --git a/src/color-profile.cpp b/src/color-profile.cpp
index 049bd14ec..b9e42ccbd 100644
--- a/src/color-profile.cpp
+++ b/src/color-profile.cpp
@@ -137,7 +137,19 @@ static void colorprofile_set( SPObject *object, unsigned key, gchar const *value
// TODO open filename and URIs properly
//FILE* fp = fopen_utf8name( filename, "r" );
//LCMSAPI cmsHPROFILE LCMSEXPORT cmsOpenProfileFromMem(LPVOID MemPtr, DWORD dwSize);
- cprof->profHandle = cmsOpenProfileFromFile( value, "r" );
+
+ if ( !g_path_is_absolute(cprof->href) ) {
+ // Try to open relative
+ gchar* docbase = SP_DOCUMENT_BASE( SP_OBJECT_DOCUMENT(object) );
+ gchar* fullname = g_build_filename( docbase ? docbase : ".", cprof->href, NULL );
+
+ cprof->profHandle = cmsOpenProfileFromFile( fullname, "r" );
+
+ g_free (fullname);
+ } else {
+ cprof->profHandle = cmsOpenProfileFromFile( cprof->href, "r" );
+ }
+
#endif // ENABLE_LCMS
}
}