X-Git-Url: http://research.m1stereo.tv/gitweb?a=blobdiff_plain;f=src%2Fmain.c;h=94edc7a15f06425e1c9e2beeacc78831c97dd26a;hb=542e0abd65b0663c9cb2cb5a39e1840f493a4ba9;hp=4a4dd8355d1497e0fc7ee924e0b160893ca64ec0;hpb=8c2cc339159f5e4a7e5d1edf0de373c2946e93a9;p=omnplay diff --git a/src/main.c b/src/main.c index 4a4dd83..94edc7a 100644 --- a/src/main.c +++ b/src/main.c @@ -36,7 +36,7 @@ int main(int argc, char **argv) { - char path[ 512 ]; + char path[ 512 ], *buf; omnplay_instance_t *app = NULL; #ifdef ENABLE_NLS @@ -53,28 +53,40 @@ int main(int argc, char **argv) #ifdef _WIN32 #else // Linux hack to determine path of the executable - readlink( "/proc/self/exe", path, 512); - if ( strstr( path, "/bin/rugen" ) ) + memset(path, 0, sizeof(path)); + 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/rugen/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); + + 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 (); + omnplay_release(app); + gdk_threads_leave(); + }; - omnplay_close(app); + omnplay_destroy(app); return 0; }