This is an automated email from the git hooks/post-receive script.

git pushed a commit to branch eina-no-backtrace-log
in repository efl.

View the commit online.

commit 4f090a30d64d046bcf1adbb5ed9d17840af4c710
Author: Carsten Haitzler <[email protected]>
AuthorDate: Wed May 13 20:06:22 2026 +0100

    evas image cache - if skip head is set... we shoulnt stat...
    
    we want to do this all async later... so just assume a fixed timestamp
    of 1.... as we cant sensibly cache lookup/dirty here as we cat do the
    stat here if skip is true.
    
    @fix
---
 src/lib/evas/cache/evas_cache_image.c | 51 ++++++++++++++++++++---------------
 1 file changed, 30 insertions(+), 21 deletions(-)

diff --git a/src/lib/evas/cache/evas_cache_image.c b/src/lib/evas/cache/evas_cache_image.c
index 6c9b8c76d0..421a44ea04 100644
--- a/src/lib/evas/cache/evas_cache_image.c
+++ b/src/lib/evas/cache/evas_cache_image.c
@@ -852,7 +852,7 @@ evas_cache_image_request(Evas_Cache_Image *cache, const char *file,
    size_t                file_length;
    size_t                key_length;
    struct stat           st;
-   Image_Timestamp       tstamp;
+   Image_Timestamp       tstamp = { 1 };
    Evas_Image_Load_Opts  tlo;
    Eina_Bool             skip = lo->skip_head;
 
@@ -886,12 +886,15 @@ evas_cache_image_request(Evas_Cache_Image *cache, const char *file,
         int ok = 1;
 
         stat_done = 1;
-        if (stat(file, &st) < 0)
-          {
-             stat_failed = 1;
-             ok = 0;
-          }
-        else if (!_timestamp_compare(&(im->tstamp), &st)) ok = 0;
+        if (!skip)
+         {
+           if (stat(file, &st) < 0)
+             {
+               stat_failed = 1;
+               ok = 0;
+             }
+           else if (!_timestamp_compare(&(im->tstamp), &st)) ok = 0;
+         }
 
         if (ok) goto on_ok;
         /* image we found doesn't match what's on disk (stat info wise)
@@ -914,17 +917,20 @@ evas_cache_image_request(Evas_Cache_Image *cache, const char *file,
      {
         int ok = 1;
 
-        if (!stat_done)
-          {
-             stat_done = 1;
-             if (stat(file, &st) < 0)
-               {
-                  stat_failed = 1;
-                       ok = 0;
-               }
-             else if (!_timestamp_compare(&(im->tstamp), &st)) ok = 0;
-          }
-        else if (!_timestamp_compare(&(im->tstamp), &st)) ok = 0;
+        if (!skip)
+         {
+           if (!stat_done)
+             {
+               stat_done = 1;
+               if (stat(file, &st) < 0)
+                 {
+                   stat_failed = 1;
+                   ok = 0;
+                 }
+               else if (!_timestamp_compare(&(im->tstamp), &st)) ok = 0;
+             }
+           else if (!_timestamp_compare(&(im->tstamp), &st)) ok = 0;
+         }
 
         if (ok)
           {
@@ -949,11 +955,14 @@ evas_cache_image_request(Evas_Cache_Image *cache, const char *file,
      }
    if (stat_failed) goto on_stat_error;
 
-   if (!stat_done)
+   if (!skip)
      {
-        if (stat(file, &st) < 0) goto on_stat_error;
+       if (!stat_done)
+         {
+           if (stat(file, &st) < 0) goto on_stat_error;
+         }
+       _timestamp_build(&tstamp, &st);
      }
-   _timestamp_build(&tstamp, &st);
    im = _evas_cache_image_entry_new(cache, hkey, &tstamp, NULL,
                                     file, key, &tlo, error);
    if (!im) goto on_stat_error;

-- 
To stop receiving notification emails like this one, please contact
the administrator of this repository.

Reply via email to