diff options
author | Bert Freudenberg <bert@freudenbergs.de> | 2007-07-17 05:34:03 (GMT) |
---|---|---|
committer | Bert Freudenberg <bert@freudenbergs.de> | 2007-07-17 05:34:03 (GMT) |
commit | b87b375bf7a67faad1ad4d5480388286ccc99716 (patch) | |
tree | c25ae77db0757c0368bc9307d120dfe52b28a670 /shell | |
parent | e78c0106cea83180775981234e9c2c684e9b09df (diff) |
make set_active() asynchronous (fix for 2230)
Diffstat (limited to 'shell')
-rw-r--r-- | shell/model/homemodel.py | 14 |
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() |