aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/afm-system-daemon.c38
1 files changed, 19 insertions, 19 deletions
diff --git a/src/afm-system-daemon.c b/src/afm-system-daemon.c
index ab87c97..65e7e33 100644
--- a/src/afm-system-daemon.c
+++ b/src/afm-system-daemon.c
@@ -95,25 +95,23 @@ static void on_install(struct jreq *jreq, struct json_object *req)
/* install the widget */
ifo = install_widget(wgtfile, root, force);
- if (ifo == NULL) {
+ if (ifo == NULL)
jbus_reply_error_s(jreq, "\"installation failed\"");
- return;
- }
-
- /* build the response */
- resp = json_object_new_object();
- if(!resp || !j_add_string(resp, "added", wgt_info_desc(ifo)->idaver)) {
- json_object_put(resp);
+ else {
+ /* build the response */
+ resp = json_object_new_object();
+ if(!resp || !j_add_string(resp, "added", wgt_info_desc(ifo)->idaver))
+ jbus_reply_error_s(jreq, "\"out of memory but installed!\"");
+ else
+ jbus_reply_j(jreq, resp);
+
+ /* clean-up */
wgt_info_unref(ifo);
- jbus_reply_error_s(jreq, "\"out of memory but installed!\"");
- return;
+ json_object_put(resp);
}
- wgt_info_unref(ifo);
- /* reply and propagate event */
- jbus_reply_j(jreq, resp);
- jbus_send_signal_j(jbus, "changed", resp);
- json_object_put(resp);
+ /* still sends the signal */
+ jbus_send_signal_s(jbus, "changed", "true");
}
static void on_uninstall(struct jreq *jreq, struct json_object *req)
@@ -141,11 +139,13 @@ static void on_uninstall(struct jreq *jreq, struct json_object *req)
/* install the widget */
rc = uninstall_widget(idaver, root);
- if (rc) {
+ if (rc)
jbus_reply_error_s(jreq, "\"uninstallation had error\"");
- return;
- }
- jbus_reply_s(jreq, "true");
+ else
+ jbus_reply_s(jreq, "true");
+
+ /* still sends the signal */
+ jbus_send_signal_s(jbus, "changed", "true");
}
static int daemonize()