#include "condition.h"
#include "edl.h"
#include "edlsession.h"
+#include "file.h"
#include "filesystem.h"
#include "language.h"
#include "localsession.h"
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;
}
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();
//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();
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()
{
const char* PluginClient::get_defaultdir()
{
- return BCASTDIR;
+ return File::get_plugin_path();
}