activityfactory: Cope with dbus-python 0.82.2's fix to non-default timeouts. In 0.82.1 async call timeouts were wrongly in milliseconds, in >= 0.82.2 they are correctly in seconds. Synchronous timeouts have always been in seconds.
This patch can be simplified once dbus-python gets into builds (#3903).
This commit is contained in:
parent
e543eada4e
commit
d60cc6ae39
@ -29,6 +29,13 @@ from sugar import util
|
||||
|
||||
import os
|
||||
|
||||
# #3903 - this constant can be removed and assumed to be 1 when dbus-python
|
||||
# 0.82.3 is the only version used
|
||||
if dbus.version >= (0, 82, 3):
|
||||
DBUS_PYTHON_TIMEOUT_UNITS_PER_SECOND = 1
|
||||
else:
|
||||
DBUS_PYTHON_TIMEOUT_UNITS_PER_SECOND = 1000
|
||||
|
||||
_SHELL_SERVICE = "org.laptop.Shell"
|
||||
_SHELL_PATH = "/org/laptop/Shell"
|
||||
_SHELL_IFACE = "org.laptop.Shell"
|
||||
@ -143,7 +150,7 @@ class ActivityCreationHandler(gobject.GObject):
|
||||
if not os.path.exists('/etc/olpc-security'):
|
||||
handle = self._handle.get_dict()
|
||||
self._factory.create(dbus.Dictionary(handle, signature='ss'),
|
||||
timeout=120 * 1000,
|
||||
timeout=120 * DBUS_PYTHON_TIMEOUT_UNITS_PER_SECOND,
|
||||
reply_handler=self._no_reply_handler,
|
||||
error_handler=self._create_error_handler)
|
||||
else:
|
||||
@ -153,7 +160,7 @@ class ActivityCreationHandler(gobject.GObject):
|
||||
factory.CreateActivity(
|
||||
self._service_name,
|
||||
self._handle.get_dict(),
|
||||
timeout=120 * 1000,
|
||||
timeout=120 * DBUS_PYTHON_TIMEOUT_UNITS_PER_SECOND,
|
||||
reply_handler=self._create_reply_handler,
|
||||
error_handler=self._create_error_handler,
|
||||
dbus_interface=_RAINBOW_ACTIVITY_FACTORY_INTERFACE)
|
||||
|
Loading…
Reference in New Issue
Block a user