Bring control to front when notification is clicked

if autopopup_chat_opened is activated no control is found because
the event that triggered the notification is already deleted when
the notification is clicked by the user. So instead of searching
for the event, search for the control with jid/account.

Fixes #9124
This commit is contained in:
Philipp Hörist 2018-05-12 23:36:52 +02:00
parent 9e096e8772
commit 3c22ab752a
1 changed files with 9 additions and 1 deletions

View File

@ -1664,7 +1664,15 @@ class Interface:
if not event:
event = app.events.get_first_event(account, jid, type_)
if not event:
return
# If autopopup_chat_opened = True, then we send out
# notifications even if a control is open. This means the
# event is already deleted (because its printed to the
# control) when the notification is clicked. So try to
# get a control from account/jid
ctrl = self.msg_win_mgr.get_control(fjid, account)
if ctrl is None:
return
w = ctrl.parent_win
if type_ == 'printed_chat':
ctrl = event.control