q66 pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=bc182e69d7f74861307cf494eb0e166af8e7847e

commit bc182e69d7f74861307cf494eb0e166af8e7847e
Author: Daniel Kolesa <[email protected]>
Date:   Thu Mar 22 14:55:31 2018 +0100

    eolian: flush defer table before parsing
---
 src/lib/eolian/eolian_database.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/lib/eolian/eolian_database.c b/src/lib/eolian/eolian_database.c
index 7bb0f4b420..52049fc405 100644
--- a/src/lib/eolian/eolian_database.c
+++ b/src/lib/eolian/eolian_database.c
@@ -776,7 +776,7 @@ static Eina_Bool
 _parse_deferred(Eolian_Unit *parent)
 {
    Eina_Hash *defer = parent->state->defer;
-   if (!defer || !eina_hash_population(defer))
+   if (!eina_hash_population(defer))
      return EINA_TRUE;
    /* clean room for more deps for later parsing */
    parent->state->defer = eina_hash_string_small_new(NULL);
@@ -859,6 +859,7 @@ eolian_state_file_parse(Eolian_State *state, const char 
*filepath)
    if (!state)
      return NULL;
 
+   eina_hash_free_buckets(state->defer);
    Eolian_Unit *ret = _eolian_file_parse_nodep((Eolian_Unit *)state, filepath);
    if (!ret)
      return NULL;
@@ -896,6 +897,7 @@ eolian_state_all_eot_files_parse(Eolian_State *state)
    if (!state)
      return EINA_FALSE;
 
+   eina_hash_free_buckets(state->defer);
    eina_hash_foreach(state->filenames_eot, _tfile_parse, &pd);
 
    if (pd.ret && !database_validate(&state->unit))
@@ -924,6 +926,7 @@ eolian_state_all_eo_files_parse(Eolian_State *state)
    if (!state)
      return EINA_FALSE;
 
+   eina_hash_free_buckets(state->defer);
    eina_hash_foreach(state->filenames_eo, _file_parse, &pd);
 
    if (pd.ret && !database_validate(&state->unit))

-- 


Reply via email to