diff --git a/gtk2_ardour/vst3_hwnd_plugin_ui.cc b/gtk2_ardour/vst3_hwnd_plugin_ui.cc index a9841ab5ab..ab7868e8f7 100644 --- a/gtk2_ardour/vst3_hwnd_plugin_ui.cc +++ b/gtk2_ardour/vst3_hwnd_plugin_ui.cc @@ -94,7 +94,9 @@ VST3HWNDPluginUI::view_size_allocate (Gtk::Allocation& allocation) } PBD::Unwinder uw (_resize_in_progress, true); ViewRect rect; - if (view->getSize (&rect) == kResultOk) { + if (view->getSize (&rect) == kResultOk + && ! (rect.right - rect.left == allocation.get_width () && rect.bottom - rect.top == allocation.get_height ())) + { rect.right = rect.left + allocation.get_width (); rect.bottom = rect.top + allocation.get_height (); #if 0 diff --git a/gtk2_ardour/vst3_nsview_plugin_ui.mm b/gtk2_ardour/vst3_nsview_plugin_ui.mm index 4c685e8005..b5b665ba09 100644 --- a/gtk2_ardour/vst3_nsview_plugin_ui.mm +++ b/gtk2_ardour/vst3_nsview_plugin_ui.mm @@ -122,7 +122,9 @@ VST3NSViewPluginUI::view_size_allocate (Gtk::Allocation& allocation) PBD::Unwinder uw (_resize_in_progress, true); ViewRect rect; - if (view->getSize (&rect) == kResultOk) { + if (view->getSize (&rect) == kResultOk + && !(rect.right - rect.left == allocation.get_width () && rect.bottom - rect.top == allocation.get_height () && rect.left == xx && rect.top == yy)) + { rect.left = xx; rect.top = yy; rect.right = rect.left + allocation.get_width (); diff --git a/gtk2_ardour/vst3_x11_plugin_ui.cc b/gtk2_ardour/vst3_x11_plugin_ui.cc index c7a20b9ec3..3dbc611100 100644 --- a/gtk2_ardour/vst3_x11_plugin_ui.cc +++ b/gtk2_ardour/vst3_x11_plugin_ui.cc @@ -247,7 +247,9 @@ VST3X11PluginUI::view_size_allocate (Gtk::Allocation& allocation) PBD::Unwinder uw (_resize_in_progress, true); ViewRect rect; - if (view->getSize (&rect) == kResultOk) { + if (view->getSize (&rect) == kResultOk + && ! (rect.right - rect.left == allocation.get_width () && rect.bottom - rect.top == allocation.get_height ())) + { rect.right = rect.left + allocation.get_width (); rect.bottom = rect.top + allocation.get_height (); #if 0