X-Git-Url: http://research.m1stereo.tv/gitweb?a=blobdiff_plain;f=src%2Fmain.c;h=a6ce43d8fb64510a8a14f9532b256fc72771cd81;hb=46e463392aadbd388529558b6a5f771e686e80d6;hp=2e9149a637d3f56c16f75e7ea97eca2c7ab500d5;hpb=0e53220ffe755b378422618e1de0e4865ba2556d;p=omnplay diff --git a/src/main.c b/src/main.c index 2e9149a..a6ce43d 100644 --- a/src/main.c +++ b/src/main.c @@ -34,6 +34,31 @@ #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 ], *buf; @@ -50,16 +75,23 @@ 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 - memset(path, 0, sizeof(path)); readlink( "/proc/self/exe", path, sizeof(path)); g_warning ("path=(%s)\n", path); if((buf = strstr(path, "/bin/omnplay"))) { buf[0] = 0; - strcat(path, "/share/rugen/pixmaps"); + strcat(path, "/share/omnplay/pixmaps"); } else if((buf = strstr(path, "/src/omnplay"))) { @@ -68,21 +100,23 @@ int main(int argc, char **argv) } 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); -#endif /* _WIN32 */ - 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; }