diff options
Diffstat (limited to 'lib')
-rw-r--r-- | lib/bb/command.py | 5 | ||||
-rw-r--r-- | lib/bb/event.py | 11 | ||||
-rw-r--r-- | lib/bb/server/process.py | 7 |
3 files changed, 19 insertions, 4 deletions
diff --git a/lib/bb/command.py b/lib/bb/command.py index 36891b923..eb7c86f4f 100644 --- a/lib/bb/command.py +++ b/lib/bb/command.py @@ -238,6 +238,11 @@ class CommandsSync: return command.cooker.matchFile(fMatch) matchFile.needconfig = False + def getUIHandlerNum(self, command, params): + return bb.event.get_uihandler() + getUIHandlerNum.needconfig = False + getUIHandlerNum.readonly = True + def setEventMask(self, command, params): handlerNum = params[0] llevel = params[1] diff --git a/lib/bb/event.py b/lib/bb/event.py index d5c5ef354..92ee3e92d 100644 --- a/lib/bb/event.py +++ b/lib/bb/event.py @@ -288,13 +288,13 @@ def set_eventfilter(func): _eventfilter = func def register_UIHhandler(handler, mainui=False): - if mainui: - global _uiready - _uiready = True bb.event._ui_handler_seq = bb.event._ui_handler_seq + 1 _ui_handlers[_ui_handler_seq] = handler level, debug_domains = bb.msg.constructLogOptions() _ui_logfilters[_ui_handler_seq] = UIEventFilter(level, debug_domains) + if mainui: + global _uiready + _uiready = _ui_handler_seq return _ui_handler_seq def unregister_UIHhandler(handlerNum, mainui=False): @@ -305,6 +305,11 @@ def unregister_UIHhandler(handlerNum, mainui=False): del _ui_handlers[handlerNum] return +def get_uihandler(): + if _uiready is False: + return None + return _uiready + # Class to allow filtering of events and specific filtering of LogRecords *before* we put them over the IPC class UIEventFilter(object): def __init__(self, level, debug_domains): diff --git a/lib/bb/server/process.py b/lib/bb/server/process.py index a8ba4681c..cfcd76495 100644 --- a/lib/bb/server/process.py +++ b/lib/bb/server/process.py @@ -63,7 +63,12 @@ class ServerCommunicator(): pass def getEventHandle(self): - return self.event_handle.value + handle, error = self.runCommand(["getUIHandlerNum"]) + if error: + logger.error("Unable to get UI Handler Number: %s" % error) + raise BaseException(error) + + return handle class EventAdapter(): """ |