hermet pushed a commit to branch master.

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

commit 9c0484c9cb5bc9d9569a31d8e49f4fff31b0b472
Author: Shinwoo Kim <[email protected]>
Date:   Tue May 19 11:57:55 2020 +0900

    png: handle file name .9.png
    
    Summary: .9.png is not 9 patch file, but a png file which name is .9
    
    Test Plan: evas_object_image_file_set(image, "./.9.png", NULL);
    
    Reviewers: Hermet, jsuya, herb
    
    Reviewed By: Hermet
    
    Subscribers: cedric, #reviewers, #committers
    
    Tags: #efl
    
    Differential Revision: https://phab.enlightenment.org/D11848
---
 src/modules/evas/image_loaders/png/evas_image_load_png.c | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/src/modules/evas/image_loaders/png/evas_image_load_png.c 
b/src/modules/evas/image_loaders/png/evas_image_load_png.c
index 686cc2966c..0558c3e9cf 100644
--- a/src/modules/evas/image_loaders/png/evas_image_load_png.c
+++ b/src/modules/evas/image_loaders/png/evas_image_load_png.c
@@ -121,6 +121,8 @@ 
_evas_image_load_file_internal_head_png(Evas_Loader_Internal *loader,
    Evas_Image_Load_Opts *opts = loader->opts;
    Eina_File *f = loader->f;
    volatile Eina_Bool r = EINA_FALSE;
+   const char *filename;
+   unsigned int filename_len = 0;
 
    *error = EVAS_LOAD_ERROR_NONE;
 
@@ -238,7 +240,10 @@ 
_evas_image_load_file_internal_head_png(Evas_Loader_Internal *loader,
      }
    if (epi->hasa) prop->info.alpha = 1;
 
-   prop->need_data = eina_str_has_extension(eina_file_filename_get(f), 
".9.png");
+   filename = eina_file_filename_get(f);
+   if (filename) filename_len = strlen(filename);
+   prop->need_data = (filename_len > 6 && filename[filename_len - 7] != '/') &&
+                     (eina_str_has_extension(filename, ".9.png"));
    if (prop->need_data)
      {
         // Adjust size to take into account the 9 patch pixels information

-- 


Reply via email to