hermet pushed a commit to branch master.

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

commit 1e079a7568adc9dfe4cd3733c70f77b8753f5a72
Author: subhransu mohanty <sub.moha...@samsung.com>
Date:   Fri Aug 23 11:11:05 2019 +0900

    edje/style: Enable lazy computaion of styles.
    
    Summary:
    Instead of updating all the styles in an Edje_File just mark them
    dirty so that subsequent  call to style will recompute the new style before
    returning the style.
    
    Reviewers: ali.alzyod, Hermet, raster, cedric
    
    Reviewed By: cedric
    
    Subscribers: cedric, #reviewers, #committers
    
    Tags: #efl
    
    Differential Revision: https://phab.enlightenment.org/D9697
---
 src/lib/edje/edje_textblock_styles.c | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/src/lib/edje/edje_textblock_styles.c 
b/src/lib/edje/edje_textblock_styles.c
index e4ceebecb5..7ac8bfa4cd 100644
--- a/src/lib/edje/edje_textblock_styles.c
+++ b/src/lib/edje/edje_textblock_styles.c
@@ -219,7 +219,11 @@ _edje_textblock_style_update(Edje *ed, Edje_Style *stl, 
Eina_Bool force)
      eina_strbuf_free(txt);
 }
 
-/* Update all evas_styles which are in an edje
+/*
+ * mark all the styles in the Edje_File dirty (except readonly styles)so that
+ * subsequent  request to style will update before giving the style.
+ * Note: this will enable lazy style computation (only when some
+ * widget request for new style it will get computed).
  *
  * @param ed The edje containing styles which need to be updated
  */
@@ -232,7 +236,7 @@ _edje_textblock_style_all_update(Edje *ed)
    if (!ed->file) return;
 
    EINA_LIST_FOREACH(ed->file->styles, l, stl)
-      _edje_textblock_style_update(ed, stl, EINA_FALSE);
+     if (stl && !stl->readonly) stl->cache = EINA_FALSE;
 }
 
 static inline Edje_Style *

-- 


Reply via email to