From 21d550bd7cc43d9f1490f6bedb2f44eea8ce8d55 Mon Sep 17 00:00:00 2001 From: Antoine Martin Date: Mon, 4 Nov 2019 15:57:24 +0000 Subject: [PATCH] #2457 GTK3 requires a widget to apply the size hints git-svn-id: https://xpra.org/svn/Xpra/trunk@24380 3bb7dfac-3a0b-4e04-842a-767bc560f471 --- src/tests/xpra/test_apps/test_window_xterm_size_hints.py | 8 ++++---- src/xpra/client/gl/gtk3/gl_client_window.py | 2 ++ src/xpra/client/gtk3/gtk3_client_window.py | 2 +- 3 files changed, 7 insertions(+), 5 deletions(-) diff --git a/src/tests/xpra/test_apps/test_window_xterm_size_hints.py b/src/tests/xpra/test_apps/test_window_xterm_size_hints.py index 56d5999ebd..b7ab513608 100755 --- a/src/tests/xpra/test_apps/test_window_xterm_size_hints.py +++ b/src/tests/xpra/test_apps/test_window_xterm_size_hints.py @@ -14,6 +14,8 @@ def main(): w.set_default_size(499, 316) w.set_title("xterm size hints") w.connect("delete_event", Gtk.main_quit) + da = Gtk.DrawingArea() + w.add(da) geom = Gdk.Geometry() wh = Gdk.WindowHints geom.min_width = 25 @@ -28,8 +30,7 @@ def main(): geom.max_height = 32764 mask |= wh.MAX_SIZE gdk_hints = Gdk.WindowHints(mask) - w.set_geometry_hints(None, geom, gdk_hints) - da = Gtk.DrawingArea() + w.set_geometry_hints(da, geom, gdk_hints) #da.connect("click", show) def configure_event(w, event): #print("configure_event(%s, %s)" % (w, event)) @@ -38,9 +39,8 @@ def configure_event(w, event): x, y = gdkwindow.get_origin()[1:] w, h = w.get_size() print("drawing area geometry: %s" % ((x, y, w, h),)) - w.connect("configure_event", configure_event) - w.add(da) w.show_all() + w.connect("configure_event", configure_event) Gtk.main() diff --git a/src/xpra/client/gl/gtk3/gl_client_window.py b/src/xpra/client/gl/gtk3/gl_client_window.py index 7ca203afb1..0695cc2bcf 100644 --- a/src/xpra/client/gl/gtk3/gl_client_window.py +++ b/src/xpra/client/gl/gtk3/gl_client_window.py @@ -108,3 +108,5 @@ def new_backing(self, bw, bh): self.init_widget_events(widget) self.add(widget) self.drawing_area = widget + #maybe redundant?: + self.apply_geometry_hints(self.geometry_hints) diff --git a/src/xpra/client/gtk3/gtk3_client_window.py b/src/xpra/client/gtk3/gtk3_client_window.py index 13ce118257..30c75a2713 100644 --- a/src/xpra/client/gtk3/gtk3_client_window.py +++ b/src/xpra/client/gtk3/gtk3_client_window.py @@ -112,7 +112,7 @@ def apply_geometry_hints(self, hints): mask |= int(name_to_hint.get(k, 0)) gdk_hints = Gdk.WindowHints(mask) geomlog("apply_geometry_hints(%s) geometry=%s, hints=%s", hints, geom, gdk_hints) - self.set_geometry_hints(None, geom, gdk_hints) + self.set_geometry_hints(self.drawing_area, geom, gdk_hints) def queue_draw_area(self, x, y, width, height): window = self.get_window()