In Evmenu, make sure to not assign the Session from the Command until the caller has been correctly identified.
This commit is contained in:
parent
89cbb6c30e
commit
55d956a799
1 changed files with 4 additions and 3 deletions
|
|
@ -242,7 +242,6 @@ class CmdEvMenuNode(Command):
|
||||||
caller = self.caller
|
caller = self.caller
|
||||||
# we store Session on the menu since this can be hard to
|
# we store Session on the menu since this can be hard to
|
||||||
# get in multisession environemtns if caller is a Player.
|
# get in multisession environemtns if caller is a Player.
|
||||||
caller.ndb._menutree._session = self.session
|
|
||||||
menu = caller.ndb._menutree
|
menu = caller.ndb._menutree
|
||||||
if not menu:
|
if not menu:
|
||||||
if _restore(caller):
|
if _restore(caller):
|
||||||
|
|
@ -258,9 +257,11 @@ class CmdEvMenuNode(Command):
|
||||||
if not menu:
|
if not menu:
|
||||||
# can't restore from a session
|
# can't restore from a session
|
||||||
err = "Menu object not found as %s.ndb._menutree!" % (orig_caller)
|
err = "Menu object not found as %s.ndb._menutree!" % (orig_caller)
|
||||||
orig_caller.msg(err) # don't use session here, it's a backup
|
orig_caller.msg(err) # don't give the session as a kwarg here, direct to original
|
||||||
raise EvMenuError(err)
|
raise EvMenuError(err)
|
||||||
|
# we must do this after the caller with the menui has been correctly identified since it
|
||||||
|
# can be either Player, Object or Session (in the latter case this info will be superfluous).
|
||||||
|
caller.ndb._menutree._session = self.session
|
||||||
# we have a menu, use it.
|
# we have a menu, use it.
|
||||||
menu._input_parser(menu, self.raw_string, caller)
|
menu._input_parser(menu, self.raw_string, caller)
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue