pluginclient delete window bug/segv + cleanups/improvements
[goodguy/history.git] / cinelerra-5.1 / cinelerra / pluginfclient.C
index 2a222cbe0b3a380308b00604b885de3866c8cb99..fdafc29e72f3860076214daab44f3a415c32ec38 100644 (file)
@@ -76,6 +76,7 @@ void PluginFClientConfig::interpolate(PluginFClientConfig &prev, PluginFClientCo
 
 void PluginFClientConfig::initialize(const char *name)
 {
+       delete ffilt;
        ffilt = PluginFFilter::new_ffilter(name);
        const AVOption *opt = 0;
        void *obj = ffilt->filter_config();
@@ -154,7 +155,7 @@ PluginFClientReset::
 
 int PluginFClientReset::handle_event()
 {
-       av_opt_set_defaults(fwin->ffmpeg->config.filter_config());
+       fwin->ffmpeg->config.initialize(fwin->ffmpeg->name);
        if( fwin->ffmpeg->config.update() > 0 )
                fwin->draw();
        fwin->ffmpeg->plugin->send_configure_change();
@@ -521,6 +522,7 @@ PluginFClient::PluginFClient(PluginClient *plugin, const char *name)
 
 PluginFClient::~PluginFClient()
 {
+       delete ffilt;
 }
 
 bool PluginFClient::is_audio(AVFilter *fp)