eio: treat Eina_Accessor NULL as success instead of failure in model
authorLarry Jr <larry.olj@gmail.com>
Mon, 6 Jun 2016 01:24:52 +0000 (22:24 -0300)
committerFelipe Magno de Almeida <felipe@expertisesolutions.com.br>
Mon, 6 Jun 2016 01:53:55 +0000 (22:53 -0300)
We treated as errors when Eina_Accessor was NULL, which meant
that we could never get an empty range os children. Treat it
as success and pass an empty Eina_Accessor

src/lib/eio/eio_model.c

index e9f2ad8..e4d4955 100644 (file)
@@ -453,10 +453,7 @@ _eio_done_children_load_cb(void *data, Eio_File *handler EINA_UNUSED)
    EINA_LIST_FOREACH(priv->children_promises, i, p)
      {
        Eina_Accessor* accessor = efl_model_list_slice(priv->children_list, p->start, p->count);
-       if (accessor)
-         eina_promise_owner_value_set(p->promise, accessor, (Eina_Promise_Free_Cb)&eina_accessor_free);
-       else
-         eina_promise_owner_error_set(p->promise, EFL_MODEL_ERROR_NOT_FOUND);
+       eina_promise_owner_value_set(p->promise, accessor, (Eina_Promise_Free_Cb)&eina_accessor_free);
        free(p);
      }
 
@@ -572,10 +569,7 @@ _eio_model_efl_model_children_slice_get(Eo *obj EINA_UNUSED, Eio_Model_Data *pri
      }
 
    Eina_Accessor* accessor = efl_model_list_slice(priv->children_list, start, count);
-   if (accessor)
-     eina_promise_owner_value_set(promise, accessor, (Eina_Promise_Free_Cb)&eina_accessor_free);
-   else
-     eina_promise_owner_error_set(promise, EFL_MODEL_ERROR_NOT_FOUND);
+   eina_promise_owner_value_set(promise, accessor, (Eina_Promise_Free_Cb)&eina_accessor_free);
 }