Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/shell
diff options
context:
space:
mode:
authorBert Freudenberg <bert@freudenbergs.de>2007-07-17 05:34:03 (GMT)
committer Bert Freudenberg <bert@freudenbergs.de>2007-07-17 05:34:03 (GMT)
commitb87b375bf7a67faad1ad4d5480388286ccc99716 (patch)
treec25ae77db0757c0368bc9307d120dfe52b28a670 /shell
parente78c0106cea83180775981234e9c2c684e9b09df (diff)
make set_active() asynchronous (fix for 2230)
Diffstat (limited to 'shell')
-rw-r--r--shell/model/homemodel.py14
1 files changed, 12 insertions, 2 deletions
diff --git a/shell/model/homemodel.py b/shell/model/homemodel.py
index e935f66..7d1039b 100644
--- a/shell/model/homemodel.py
+++ b/shell/model/homemodel.py
@@ -132,12 +132,22 @@ class HomeModel(gobject.GObject):
if old_activity:
service = old_activity.get_service()
if service:
- service.set_active(False)
+ service.set_active(False,
+ reply_handler=self._set_active_success,
+ error_handler=self._set_active_error)
if new_activity:
service = new_activity.get_service()
if service:
- service.set_active(True)
+ service.set_active(True,
+ reply_handler=self._set_active_success,
+ error_handler=self._set_active_error)
+
+ def _set_active_success(self):
+ pass
+
+ def _set_active_error(self, err):
+ logging.error("set_active() failed: %s" % err)
def _active_window_changed_cb(self, screen):
window = screen.get_active_window()