Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/sugar/clipboard
diff options
context:
space:
mode:
authorJohn (J5) Palmieri <johnp@redhat.com>2007-08-24 22:25:56 (GMT)
committer John (J5) Palmieri <johnp@redhat.com>2007-08-24 22:25:56 (GMT)
commit2cae66b0ea86235788220c9f7b05aa2ad4fdc58f (patch)
treeaa592c5fcc95931b6a5a736d7c7cecafac6accf7 /sugar/clipboard
parent628fe7b5da46b7618c391b91c9e130b30d4b6623 (diff)
More follow_name_owner_changed optimiztion
* reasoning changed from a FIXME to a NOTE to explain why we need to follow_name_owner_changed
Diffstat (limited to 'sugar/clipboard')
-rw-r--r--sugar/clipboard/clipboardservice.py9
1 files changed, 8 insertions, 1 deletions
diff --git a/sugar/clipboard/clipboardservice.py b/sugar/clipboard/clipboardservice.py
index 0e357fe..d975330 100644
--- a/sugar/clipboard/clipboardservice.py
+++ b/sugar/clipboard/clipboardservice.py
@@ -82,7 +82,14 @@ class ClipboardService(gobject.GObject):
"""Connect dbus signals to our GObject signal generating callbacks"""
bus = dbus.SessionBus()
if not self._connected:
- proxy_obj = bus.get_object(DBUS_SERVICE, DBUS_PATH)
+ # NOTE: We need to follow_name_owner_changes here
+ # because we can not connect to a signal unless
+ # we follow the changes or we start the service
+ # before we connect. Starting the service here
+ # causes a major bottleneck during startup
+ proxy_obj = bus.get_object(DBUS_SERVICE,
+ DBUS_PATH,
+ follow_name_owner_changes=True)
self._dbus_service = dbus.Interface(proxy_obj, DBUS_SERVICE)
self._dbus_service.connect_to_signal('object_added',
self._object_added_cb)