diff --git a/shell/ConsoleWindow.py b/shell/ConsoleWindow.py index 5efd880c..3c98bfe9 100644 --- a/shell/ConsoleWindow.py +++ b/shell/ConsoleWindow.py @@ -47,10 +47,7 @@ class ConsoleDbusService(dbus.service.Object): @dbus.service.method('org.laptop.Sugar.Console', in_signature="saias", out_signature="") def log(self, module_id, levels, messages): - i = 0 - while i < len(levels): - self._console.log(levels[i], module_id, messages[i]) - i += 1 + self._console.log(module_id, levels, messages) class ConsoleWindow(gtk.Window): def __init__(self): @@ -122,6 +119,9 @@ class ConsoleWindow(gtk.Window): page = self._nb.page_num(self._consoles[page_id]) self._nb.set_current_page(page) - def log(self, level, page_id, message): + def log(self, page_id, levels, messages): console = self._get_console(page_id) - console.log(level, message) + i = 0 + while i < len(levels): + console.log(levels[i], messages[i]) + i += 1 diff --git a/sugar/logger.py b/sugar/logger.py index 9328058a..7f9dab1f 100644 --- a/sugar/logger.py +++ b/sugar/logger.py @@ -25,10 +25,12 @@ class MessageQueue: bus = dbus.SessionBus() con = bus._connection if dbus.dbus_bindings.bus_name_has_owner(con, CONSOLE_BUS_NAME): + print >> sys.stderr, 'Setup now' self.setup_console() - bus.add_signal_receiver(self.__name_owner_changed, - dbus_interface = "org.freedesktop.DBus", - signal_name = "NameOwnerChanged") + else: + bus.add_signal_receiver(self.__name_owner_changed, + dbus_interface = "org.freedesktop.DBus", + signal_name = "NameOwnerChanged") def setup_console(self): bus = dbus.SessionBus() @@ -51,8 +53,12 @@ class MessageQueue: if self._console == None or len(self._messages) == 0: return False - self._console.log(self._console_id, self._levels, - self._messages, timeout = 1000) + if isinstance(self._console, dbus.Interface): + self._console.log(self._console_id, self._levels, + self._messages, timeout = 1000) + else: + self._console.log(self._console_id, self._levels, + self._messages) self._levels = [] self._messages = []