summaryrefslogtreecommitdiff
path: root/gtk2_ardour/generic_pluginui.cc
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2018-11-15 23:05:07 +0100
committerRobin Gareus <robin@gareus.org>2018-11-15 23:05:22 +0100
commit9b3fd34b6b90e16157b8709ca0914b169a7235da (patch)
tree1530d2f7fb30eaa238a0d313b2927cbf788aaf9e /gtk2_ardour/generic_pluginui.cc
parentc0a94b8399b76240415aab0e3f12e0950d4a26a9 (diff)
Properly limit generic-UI window size
Initially screen() is not unset, the window only exists after the scroller has been realized. Also prevent initially over-sized window.
Diffstat (limited to 'gtk2_ardour/generic_pluginui.cc')
-rw-r--r--gtk2_ardour/generic_pluginui.cc7
1 files changed, 4 insertions, 3 deletions
diff --git a/gtk2_ardour/generic_pluginui.cc b/gtk2_ardour/generic_pluginui.cc
index 055129b704..7b5820cd27 100644
--- a/gtk2_ardour/generic_pluginui.cc
+++ b/gtk2_ardour/generic_pluginui.cc
@@ -209,6 +209,7 @@ GenericPluginUI::GenericPluginUI (boost::shared_ptr<PluginInsert> pi, bool scrol
scroller.set_name ("PluginEditor");
} else {
scroller.signal_size_request().connect (sigc::mem_fun(*this, &GenericPluginUI::scroller_size_request));
+ scroller.signal_realize().connect (sigc::mem_fun(scroller, &Widget::queue_resize));
scroller.set_policy (Gtk::POLICY_AUTOMATIC, Gtk::POLICY_NEVER);
}
@@ -228,15 +229,15 @@ GenericPluginUI::scroller_size_request (Gtk::Requisition* a)
{
GtkRequisition request = hpacker.size_request();
- Glib::RefPtr<Gdk::Window> window (get_window());
+ Glib::RefPtr<Gdk::Window> window (scroller.get_window());
Glib::RefPtr<Gdk::Screen> screen;
if (window) {
- screen = get_screen();
+ screen = window->get_screen();
}
if (!screen) {
- a->width = request.width;
+ a->width = min(1024, request.width);
return;
}