diff options
author | Jean Guyomarc'h <jean.guyomarch@openwide.fr> | 2016-08-26 15:43:16 +0200 |
---|---|---|
committer | Jean Guyomarc'h <jean@guyomarch.bzh> | 2016-08-26 19:45:46 +0200 |
commit | bab92eb0e7cadb4d31a095be744f95415379d393 (patch) | |
tree | 4e24ab1d4bea3091f1ceafce19f0c4f1405e77b0 | |
parent | de68c472c597736e168166a480224e27ce330f51 (diff) | |
download | efl-bab92eb0e7cadb4d31a095be744f95415379d393.tar.gz |
elementary: better error handling of fileselector
-rw-r--r-- | src/lib/elementary/elc_fileselector.c | 26 |
1 files changed, 18 insertions, 8 deletions
diff --git a/src/lib/elementary/elc_fileselector.c b/src/lib/elementary/elc_fileselector.c index 750833a834..0c7b659bae 100644 --- a/src/lib/elementary/elc_fileselector.c +++ b/src/lib/elementary/elc_fileselector.c @@ -772,7 +772,7 @@ _process_child_error_cb(void *data, Eina_Error err EINA_UNUSED) efl_unref(it_data->model); free(it_data); - WRN("could not get data from child Efl.Model"); + ERR("Failed to access to a model property"); lreq->item_total--; } @@ -831,8 +831,14 @@ _process_children_cb(void *data, void *values) { EINA_ACCESSOR_FOREACH(children_accessor, i, child) { - Eina_Promise *promises[7] = {NULL,}; + Eina_Promise *promises[7]; Eina_Promise *promise_all = NULL; + const char *prop[6] = { + "path", "filename", "is_dir", "size", "mtime", "mime_type" + }; + unsigned int i; + Eina_Error error; + it_data = calloc(1, sizeof(Elm_Fileselector_Item_Data)); if (!it_data) { @@ -843,12 +849,16 @@ _process_children_cb(void *data, void *values) it_data->model = efl_ref(child); it_data->user_data = lreq; - promises[0] = efl_model_property_get(child, "path"); - promises[1] = efl_model_property_get(child, "filename"); - promises[2] = efl_model_property_get(child, "is_dir"); - promises[3] = efl_model_property_get(child, "size"); - promises[4] = efl_model_property_get(child, "mtime"); - promises[5] = efl_model_property_get(child, "mime_type"); + for (i = 0; i <= 5; i++) + { + promises[i] = efl_model_property_get(child, prop[i]); + error = eina_promise_error_get(promises[i]); + if (error) + { + ERR("Error with property \"%s\": %s", prop[i], + eina_error_msg_get(error)); + } + } promises[6] = NULL; promise_all = eina_promise_all(eina_carray_iterator_new((void**)promises)); |