X-Git-Url: http://research.m1stereo.tv/gitweb?a=blobdiff_plain;f=src%2Fmain.c;h=a6ce43d8fb64510a8a14f9532b256fc72771cd81;hb=0f2476445358a255955b29c4726bb59b2c002162;hp=4a4dd8355d1497e0fc7ee924e0b160893ca64ec0;hpb=8c2cc339159f5e4a7e5d1edf0de373c2946e93a9;p=omnplay diff --git a/src/main.c b/src/main.c index 4a4dd83..a6ce43d 100644 --- a/src/main.c +++ b/src/main.c @@ -34,9 +34,34 @@ #include "omnplay.h" #include "support.h" +#ifdef _WIN32 +#include +#include + +char *strcasestr(char *haystack, char *needle) +{ + char *p, *startn = 0, *np = 0; + + for (p = haystack; *p; p++) { + if (np) { + if (toupper(*p) == toupper(*np)) { + if (!*++np) + return startn; + } else + np = 0; + } else if (toupper(*p) == toupper(*needle)) { + np = needle + 1; + startn = p; + } + } + + return 0; +}; +#endif /* _WIN32 */ + int main(int argc, char **argv) { - char path[ 512 ]; + char path[ 512 ], *buf; omnplay_instance_t *app = NULL; #ifdef ENABLE_NLS @@ -50,31 +75,48 @@ int main(int argc, char **argv) gtk_set_locale(); gtk_init(&argc, &argv); + memset(path, 0, sizeof(path)); #ifdef _WIN32 + GetModuleFileName(NULL, path, sizeof(path)); +// g_warning("GetModuleFileName [%s]\n", path); + if((buf = strstr(path, "\\bin\\omnplay.exe"))) + { + buf[0] = 0; + strcat(path, "\\share\\omnplay\\pixmaps"); + } #else // Linux hack to determine path of the executable - readlink( "/proc/self/exe", path, 512); - if ( strstr( path, "/bin/rugen" ) ) + readlink( "/proc/self/exe", path, sizeof(path)); + g_warning ("path=(%s)\n", path); + if((buf = strstr(path, "/bin/omnplay"))) { - ( *strstr( path, "/bin/rugen" ) ) = '\0'; - strcat( path, "/share/rugen/pixmaps" ); - add_pixmap_directory( path ); + buf[0] = 0; + strcat(path, "/share/omnplay/pixmaps"); } - else + else if((buf = strstr(path, "/src/omnplay"))) { - add_pixmap_directory( PACKAGE_DATA_DIR "/" PACKAGE "/pixmaps" ); + buf[0] = 0; + strcat( path, "/pixmaps" ); } + else + snprintf(path, sizeof(path), "%s/%s/pixmaps", PACKAGE_DATA_DIR, PACKAGE); #endif /* _WIN32 */ + add_pixmap_directory( path ); + g_warning ("add_pixmap_directory(%s)\n", path); + app = omnplay_create(argc, argv); - gtk_widget_show (app->window); - gdk_threads_enter(); - omnplay_init(app); - gtk_main (); - gdk_threads_leave(); + if(app->window) + { + gtk_widget_show (app->window); + gdk_threads_enter(); + omnplay_init(app); + gtk_main (); + gdk_threads_leave(); + }; - omnplay_close(app); + omnplay_destroy(app); return 0; }