X-Git-Url: http://git.cinelerra-gg.org/git/?a=blobdiff_plain;f=cinelerra-5.1%2Fcinelerra%2Fawindowgui.C;h=90287ac94da0f6abfde7fa2f52a59f54962e60ed;hb=a985e771ecfb00f01c6405c7aa4fb958a780e558;hp=13e7164d582562645952bb4321d50a232b77681d;hpb=b78e8ac7987fbf35a4ba60534c4a3d2b290562b9;p=goodguy%2Fhistory.git diff --git a/cinelerra-5.1/cinelerra/awindowgui.C b/cinelerra-5.1/cinelerra/awindowgui.C index 13e7164d..90287ac9 100644 --- a/cinelerra-5.1/cinelerra/awindowgui.C +++ b/cinelerra-5.1/cinelerra/awindowgui.C @@ -512,10 +512,8 @@ VFrame *AWindowGUI::get_picon(const char *name, const char *plugin_icons) { char png_path[BCTEXTLEN]; char *pp = png_path, *ep = pp + sizeof(png_path)-1; - pp += snprintf(pp, ep-pp, "%s/picon", File::get_plugin_path()); - if( strcmp(DEFAULT_PICON, plugin_icons) ) - pp += snprintf(pp, ep-pp, "_%s", plugin_icons); - pp += snprintf(pp, ep-pp, "/%s.png", name); + snprintf(pp, ep-pp, "%s/picon_%s/%s.png", + File::get_plugin_path(), plugin_icons, name); return VFramePng::vframe_png(png_path,0,0); } @@ -841,11 +839,18 @@ void AWindowRemovePlugin::handle_close_event(int result) snprintf(index_path, sizeof(index_path), "%s/%s", mwindow->preferences->plugin_dir, PLUGIN_FILE); remove(index_path); - char png_path[BCTEXTLEN]; - if( plugin->get_plugin_png_path(png_path, mwindow->preferences->plugin_icons) ) - remove(png_path); - if( plugin->get_plugin_png_path(png_path, DEFAULT_PICON) ) - remove(png_path); + FileSystem fs; + fs.update(File::get_plugin_path()); + for( int i=0; ipath; + if( !fs.is_dir(fs_path) ) continue; + char *cp = strrchr(fs_path,'/'); + cp = !cp ? fs_path : cp+1; + if( strncmp("picon_", cp, 6) ) continue; + char png_path[BCTEXTLEN]; + if( !plugin->get_plugin_png_path(png_path, cp+6) ) + remove(png_path); + } delete plugin; plugin = 0; awindow->gui->async_update_assets(); }