diff options
author | Olliver Schinagl <o.schinagl@ultimaker.com> | 2015-04-29 12:47:14 (GMT) |
---|---|---|
committer | Olliver Schinagl <o.schinagl@ultimaker.com> | 2015-04-29 12:47:14 (GMT) |
commit | 28091ce6211a3b720287665dfdbfb693d4b4f519 (patch) | |
tree | f157fe7f591101817e125b0ecff58cd25e060226 | |
parent | 803e27f307e4e6b37b465bce0dd98622ae22f0d0 (diff) | |
download | eulogium-28091ce6211a3b720287665dfdbfb693d4b4f519.zip eulogium-28091ce6211a3b720287665dfdbfb693d4b4f519.tar.gz eulogium-28091ce6211a3b720287665dfdbfb693d4b4f519.tar.bz2 |
Try to abort the print when using the abort button
Signed-off-by: Olliver Schinagl <o.schinagl@ultimaker.com>
-rw-r--r-- | src/eulogium.c | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/src/eulogium.c b/src/eulogium.c index a225e8b..d48d5f4 100644 --- a/src/eulogium.c +++ b/src/eulogium.c @@ -194,11 +194,25 @@ static void _cb_eulogium_exit(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUS elm_exit(); } +static void _on_print_abort_ret(void *data EINA_UNUSED, const Eldbus_Message *msg, Eldbus_Pending *pending EINA_UNUSED) +{ + const char *errname, *errmsg; + Eina_Bool print_abort = EINA_FALSE; + + if (eldbus_message_error_get(msg, &errname, &errmsg)) { + EINA_LOG_ERR("%s %s", errname, errmsg); + } else if (!eldbus_message_arguments_get(msg, "b", &print_abort)) { + EINA_LOG_ERR("Failed to abort print."); + } +} + static void _print_abort_cb(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED) { struct eulogium_data *eulogium = data; Elm_Object_Item *item; + eldbus_proxy_call(eulogium->dbus.proxy[HARMA], "abortPrint", _on_print_abort_ret, eulogium, -1, ""); + item = elm_naviframe_bottom_item_get(eulogium->navi); if (item) elm_naviframe_item_pop_to(item); /* XXX what to do else? | XXX stack corrupted after this? (see error log) */ |