--- 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 );
}