diff options
Diffstat (limited to 'ext/tk/lib/multi-tk.rb')
-rw-r--r-- | ext/tk/lib/multi-tk.rb | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/ext/tk/lib/multi-tk.rb b/ext/tk/lib/multi-tk.rb index 645e5ca2ea..0211a15060 100644 --- a/ext/tk/lib/multi-tk.rb +++ b/ext/tk/lib/multi-tk.rb @@ -755,7 +755,9 @@ class MultiTkIp @pseudo_toplevel = [false, nil] def self.__pseudo_toplevel - self.__pseudo_toplevel_evaluable? && @pseudo_toplevel[1] + Thread.current.group == ThreadGroup::Default && + MultiTkIp.__getip == @@DEFAULT_MASTER && + self.__pseudo_toplevel_evaluable? && @pseudo_toplevel[1] end def self.__pseudo_toplevel=(m) @@ -1757,7 +1759,9 @@ end class MultiTkIp # instance method def __pseudo_toplevel - self.__pseudo_toplevel_evaluable? && @pseudo_toplevel[1] + ip = MultiTkIp.__getip + (ip == @@DEFAULT_MASTER || ip == self) && + self.__pseudo_toplevel_evaluable? && @pseudo_toplevel[1] end def __pseudo_toplevel=(m) |