From bc1939fc6d1ecbe5fe20fad3e3ac9df50a9cb8f4 Mon Sep 17 00:00:00 2001 From: Antoine Martin Date: Thu, 5 Feb 2015 05:53:10 +0000 Subject: [PATCH] #799 if we don't find a reference to use for the group leader, don't create a useless one - also fix the comments that claimed we used the wid (which was the transient-for wid) git-svn-id: https://xpra.org/svn/Xpra/trunk@8628 3bb7dfac-3a0b-4e04-842a-767bc560f471 --- src/xpra/client/gtk2/client.py | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/src/xpra/client/gtk2/client.py b/src/xpra/client/gtk2/client.py index e616a08cb5..9233f7387b 100644 --- a/src/xpra/client/gtk2/client.py +++ b/src/xpra/client/gtk2/client.py @@ -348,10 +348,10 @@ def window_ungrab(self): - def get_group_leader(self, metadata, override_redirect): - wid = metadata.intget("transient-for", -1) - if wid>0: - client_window = self._id_to_window.get(wid) + def get_group_leader(self, wid, metadata, override_redirect): + transient_for = metadata.intget("transient-for", -1) + if transient_for>0: + client_window = self._id_to_window.get(transient_for) if client_window: gdk_window = client_window.get_window() if gdk_window: @@ -374,11 +374,14 @@ def get_group_leader(self, metadata, override_redirect): elif pid>0: reftype = "pid" ref = pid + elif transient_for>0: + #this should have matched a client window above.. + #but try to use it anyway: + reftype = "transient-for" + ref = transient_for else: - #no reference to use! invent a unique one for this window: - #(use its wid) - reftype = "wid" - ref = wid + #no reference to use + return None refkey = "%s:%s" % (reftype, ref) group_leader_window = self._ref_to_group_leader.get(refkey) if group_leader_window: