diff options
| author | Huang Peng <shawn.p.huang@gmail.com> | 2008-07-30 14:43:08 +0800 |
|---|---|---|
| committer | Huang Peng <shawn.p.huang@gmail.com> | 2008-07-30 14:43:08 +0800 |
| commit | cc7f9b0590321b9aa8fefd2f3d10b703da8e5d03 (patch) | |
| tree | 0f9f23c08314e120f9f52f7984396b556bb2e2a1 /daemon/config.py | |
| parent | 12afe7c562211c255cccf29091fe4ac3d7d7f0c5 (diff) | |
| download | ibus-cc7f9b0590321b9aa8fefd2f3d10b703da8e5d03.tar.gz ibus-cc7f9b0590321b9aa8fefd2f3d10b703da8e5d03.tar.xz ibus-cc7f9b0590321b9aa8fefd2f3d10b703da8e5d03.zip | |
Fix problem if pass None as reply_handler or error_handler to config_set_value.
Diffstat (limited to 'daemon/config.py')
| -rw-r--r-- | daemon/config.py | 20 |
1 files changed, 12 insertions, 8 deletions
diff --git a/daemon/config.py b/daemon/config.py index 7b80b78..53d531d 100644 --- a/daemon/config.py +++ b/daemon/config.py @@ -89,28 +89,32 @@ class DefaultConfig(ibus.Object): self.__handler_id = self.__config.connect("value-changed", self.__value_changed_cb) def get_value(self, key, **kargs): + reply_handler = kargs.get("reply_handler", None) + error_handler = kargs.get("reply_handler", None) try: value = self.__config.get_value(key) - if "reply_handler" in kargs: - kargs["reply_handler"](value) + if reply_handler: + reply_handler(value) else: return value except Exception, e: - if "error_handler" in kargs: - kargs["error_handler"](e) + if error_handler: + error_handler(e) else: raise e def set_value(self, key, value, **kargs): + reply_handler = kargs.get("reply_handler", None) + error_handler = kargs.get("reply_handler", None) try: self.__config.set_value(key, value) - if "reply_handler" in kargs: - kargs["reply_handler"]() + if reply_handler: + reply_handler() else: return except Exception, e: - if "error_handler" in kargs: - kargs["error_handler"](e) + if error_handler: + error_handler(e) else: raise e |
