From 4c4fb2570f43371666746dde1eb4b6d97608b264 Mon Sep 17 00:00:00 2001 From: David Robillard Date: Sat, 28 Nov 2015 15:27:04 -0500 Subject: Fix initial size of resizable X11 UIs in Gtk --- src/x11_in_gtk2.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'src') diff --git a/src/x11_in_gtk2.c b/src/x11_in_gtk2.c index e46fe8d..6cd8677 100644 --- a/src/x11_in_gtk2.c +++ b/src/x11_in_gtk2.c @@ -157,6 +157,14 @@ forward_key_event(SuilX11Wrapper* socket, (XEvent*)&xev); } +static gboolean +idle_size_request(gpointer user_data) +{ + GtkWidget* w = GTK_WIDGET(user_data); + gtk_widget_queue_resize(w); + return FALSE; +} + static void forward_size_request(SuilX11Wrapper* socket, GtkAllocation* allocation) @@ -201,6 +209,10 @@ forward_size_request(SuilX11Wrapper* socket, XMoveWindow(GDK_WINDOW_XDISPLAY(window), (Window)socket->instance->ui_widget, wx, wy); + } else { + /* Child has not been realized, so unable to resize now. + Queue an idle resize. */ + g_idle_add(idle_size_request, socket->plug); } } -- cgit v1.2.1