diff --git a/tryton/common/common.py b/tryton/common/common.py index 109b67e733..9387ea9c8c 100644 --- a/tryton/common/common.py +++ b/tryton/common/common.py @@ -293,13 +293,11 @@ def request_server(server_widget): def get_toplevel_window(): - windows = [x for x in gtk.window_list_toplevels() - if x.get_window() and x.props.visible - and x.props.type == gtk.WINDOW_TOPLEVEL] - trans2windows = dict((x.get_transient_for(), x) for x in windows) - for window in set(windows) - set(trans2windows.iterkeys()): - return window - return trans2windows[None] + for window in gtk.window_list_toplevels(): + if window.is_active(): + return window + from tryton.gui.main import Main + return Main.get_main().window def get_sensible_widget(window):