diff --git a/src/gui_menu_builder.py b/src/gui_menu_builder.py index 8a91fa678404a3d9d7b5e4808aacbcc9add88dcc..2edd1c837a357d38c723cf6ed04f0a221d50746f 100644 --- a/src/gui_menu_builder.py +++ b/src/gui_menu_builder.py @@ -64,9 +64,11 @@ def build_resources_submenu(contacts, account, action, room_jid=None, return sub_menu def build_invite_submenu(invite_menuitem, list_, ignore_rooms=[], -show_bookmarked=False): +show_bookmarked=False, force_resource=False): """ list_ in a list of (contact, account) + force_resource means we want to send invitation even if there is only one + resource """ roster = gajim.interface.roster # used if we invite only one contact with several resources @@ -104,7 +106,7 @@ show_bookmarked=False): elif len(list_) == 1 and contact.supports(NS_MUC): invite_menuitem.set_sensitive(True) # use resource if it's self contact - if contact.jid == gajim.get_jid_from_account(account): + if contact.jid == gajim.get_jid_from_account(account) or force_resource: resource = contact.resource else: resource = None @@ -455,8 +457,12 @@ control=None, gc_contact=None, is_anonymous=True): build_invite_submenu(invite_menuitem, [(gc_contact, account)], show_bookmarked=bookmarked) else: + force_resource = False + if control and control.resource: + force_resource = True build_invite_submenu(invite_menuitem, [(contact, account)], - show_bookmarked=contact.supports(NS_CONFERENCE)) + show_bookmarked=contact.supports(NS_CONFERENCE), + force_resource=force_resource) if gajim.account_is_disconnected(account): invite_menuitem.set_sensitive(False)