X-Git-Url: http://git.cinelerra-gg.org/git/?a=blobdiff_plain;f=cinelerra-5.1%2Fcinelerra%2Fpluginclient.C;h=0e0637b734036cdf06c47459f60b524b8cc1d9c8;hb=0b78779e9e75131eee81d2e4689b98df0e91c092;hp=cccdcde077d8bc6bfefe9c021b2b1b9f99a4dc02;hpb=87141f1b454130848c34efdea9cf832d17463830;p=goodguy%2Fhistory.git diff --git a/cinelerra-5.1/cinelerra/pluginclient.C b/cinelerra-5.1/cinelerra/pluginclient.C index cccdcde0..0e0637b7 100644 --- a/cinelerra-5.1/cinelerra/pluginclient.C +++ b/cinelerra-5.1/cinelerra/pluginclient.C @@ -26,6 +26,7 @@ #include "condition.h" #include "edl.h" #include "edlsession.h" +#include "file.h" #include "filesystem.h" #include "language.h" #include "localsession.h" @@ -55,8 +56,9 @@ PluginClientThread::PluginClientThread(PluginClient *client) PluginClientThread::~PluginClientThread() { -//printf("PluginClientThread::~PluginClientThread %p %d\n", this, __LINE__); join(); +//printf("PluginClientThread::~PluginClientThread %p %d\n", this, __LINE__); + delete window; window = 0; //printf("PluginClientThread::~PluginClientThread %p %d\n", this, __LINE__); delete init_complete; } @@ -67,10 +69,10 @@ void PluginClientThread::run() int result = 0; if(client->window_x < 0) client->window_x = info.get_abs_cursor_x(); if(client->window_y < 0) client->window_y = info.get_abs_cursor_y(); - window = client->new_window(); + if(!window) + window = client->new_window(); - if(window) - { + if(window) { window->lock_window("PluginClientThread::run"); window->create_objects(); window->unlock_window(); @@ -84,7 +86,6 @@ void PluginClientThread::run() //printf("PluginClientThread::run %p %d\n", this, __LINE__); window->hide_window(1); window->unlock_window(); - delete window; window = 0; // Can't save defaults in the destructor because it's not called immediately // after closing. /* if(client->defaults) */ client->save_defaults_xml(); @@ -658,12 +659,6 @@ int PluginClient::get_gui_status() return server->get_gui_status(); } -int PluginClient::start_plugin() -{ - printf(_("No processing defined for this plugin.\n")); - return 0; -} - // close event from client side void PluginClient::client_side_close() { @@ -814,7 +809,7 @@ int PluginClient::get_project_smp() const char* PluginClient::get_defaultdir() { - return BCASTDIR; + return File::get_plugin_path(); }