diff options
-rw-r--r-- | lib/bb/event.py | 5 | ||||
-rw-r--r-- | lib/bb/ui/uievent.py | 2 |
2 files changed, 5 insertions, 2 deletions
diff --git a/lib/bb/event.py b/lib/bb/event.py index ef64f519f..a3288b619 100644 --- a/lib/bb/event.py +++ b/lib/bb/event.py @@ -120,7 +120,10 @@ def fire_ui_handlers(event, d): # We use pickle here since it better handles object instances # which xmlrpc's marshaller does not. Events *must* be serializable # by pickle. - _ui_handlers[h].event.send(event) + if hasattr(_ui_handlers[h].event, "sendpickle"): + _ui_handlers[h].event.sendpickle((pickle.dumps(event))) + else: + _ui_handlers[h].event.send(event) except: errors.append(h) for h in errors: diff --git a/lib/bb/ui/uievent.py b/lib/bb/ui/uievent.py index 2fef4e465..0e738174e 100644 --- a/lib/bb/ui/uievent.py +++ b/lib/bb/ui/uievent.py @@ -76,7 +76,7 @@ class BBUIEventQueue: self.host, self.port = server.socket.getsockname() server.register_function( self.system_quit, "event.quit" ) - server.register_function( self.send_event, "event.send" ) + server.register_function( self.send_event, "event.sendpickle" ) server.socket.settimeout(1) self.EventHandle = self.BBServer.registerEventHandler(self.host, self.port) |