diff -r 9dbe1b043bea -r e4e3998ddda2 skins/AknSkins/sdcsrc/SDCReader.cpp --- a/skins/AknSkins/sdcsrc/SDCReader.cpp Thu Aug 19 10:53:51 2010 +0300 +++ b/skins/AknSkins/sdcsrc/SDCReader.cpp Tue Aug 31 16:13:36 2010 +0300 @@ -988,9 +988,30 @@ { bool changed( true ); if( sd_wcscasecmp( gInput.iToken, iData->iBmpPath ) == 0 ) changed = false; - iData->SetBmpPath( gInput.iToken ); char buf[512]; CSDCInput::ConvertToAscii( buf, gInput.iToken ); + + /* prepend EPOCROOT on linux */ + if(buf[0] == '/') + { +#if (defined(__MSVCRT__) || defined(_MSC_VER)) + /* FIXME: We have to use \\ for referencing root path on Windows? */ + buf[0] = '\\'; + + CSDCInput::ConvertToWchar(gInput.iToken, buf); +#else + char b[512]; + + sprintf(b, "%s%s", getenv("EPOCROOT"), buf); + + strcpy(buf, b); + + CSDCInput::ConvertToWchar(gInput.iToken, b); +#endif + } + + iData->SetBmpPath( gInput.iToken ); + if( changed ) printf("NOTE: Bitmap source path set to %s\n", buf ); }