ffplugin default opts now are unspecified, menubar pulldowns persist on leave notify
authorGood Guy <good1.2guy@gmail.com>
Thu, 15 Feb 2018 19:27:51 +0000 (12:27 -0700)
committerGood Guy <good1.2guy@gmail.com>
Thu, 15 Feb 2018 19:27:51 +0000 (12:27 -0700)
cinelerra-5.1/cinelerra/plugindialog.C
cinelerra-5.1/cinelerra/pluginfclient.C
cinelerra-5.1/ffmpeg/plugin.opts
cinelerra-5.1/guicast/bcmenu.C

index 878d1d00b496537d28f9707fd4dd09ec853543a2..8b83480bb389e0c3d15cd2e73387a7c9b5b44795 100644 (file)
@@ -438,9 +438,9 @@ int PluginDialog::resize_event(int w, int h)
 
 
        if(single_standalone)
-               single_standalone->reposition_window(mwindow->theme->plugindialog_new_x,
-                       mwindow->theme->plugindialog_new_y +
-                               mwindow->theme->plugindialog_new_h +
+               single_standalone->reposition_window(
+                       mwindow->theme->plugindialog_new_x + BC_OKButton::calculate_w() + 10,
+                       mwindow->theme->plugindialog_new_y + mwindow->theme->plugindialog_new_h +
                                get_text_height(MEDIUMFONT));
 
        flush();
@@ -747,7 +747,7 @@ PluginDialogSingle::PluginDialogSingle(PluginDialog *dialog, int x, int y)
  : BC_CheckBox(x,
        y,
        dialog->thread->single_standalone,
-       _("Attach single standlone and share others"))
+       _("Attach single standalone and share others"))
 {
        this->dialog = dialog;
 }
index 3a2dfc8375a7f240368b79f6e69f6513dd01bf9a..3edc9f6777fa520df7e3455cdd6b0d0577b858ef 100644 (file)
@@ -1106,7 +1106,16 @@ int PluginFFilter::init(const char *name, PluginFClientConfig *conf)
                        PluginFClient_Opt *op = conf->get(i);
                        const char *name = op->opt->name;
                        char val[BCTEXTLEN], *vp = op->get(val, sizeof(val));
-                       if( vp ) av_dict_set(&opts, name, vp, 0);
+                       if( !vp ) continue;
+                       uint8_t *bp = 0;
+// unspecified opts cause a special behavior in some filters (lut3d)
+// so... if opt value is the default, skip it or no special behavior
+                       if( av_opt_get(filter_config(), name, 0, &bp) >= 0 ) {
+                               int result = strcmp((const char *)bp, vp);
+                               av_freep(&bp);
+                               if( !result ) continue;
+                       }
+                       av_dict_set(&opts, name, vp, 0);
                }
                ret = avfilter_init_dict(fctx, &opts);
                av_dict_free(&opts);
index d7c19513c96d7748fe8cfa6230153e816dfa34a1..b62fa85fb2b113bedc41fc6a5c68d899a95d9697 100644 (file)
@@ -167,7 +167,7 @@ loudnorm
 lowpass
 lut
 #lut2
-#lut3d
+lut3d
 lutrgb
 lutyuv
 #mandelbrot
index 42035b431d8e00cecc633b5b9ad4bd9567eb2473..2092fc8e7d1e3f598ba0cc7db5e4e6ee7f023131 100644 (file)
@@ -197,8 +197,8 @@ int BC_Menu::dispatch_cursor_leave()
 {
        if(active)
        {
-               if( !menu_popup->cursor_inside() )
-                       deactivate_menu();
+//             if( !menu_popup->cursor_inside() )
+//                     deactivate_menu();
                menu_popup->dispatch_cursor_leave();
        }
        unhighlight();