summaryrefslogtreecommitdiff
path: root/src/modules
diff options
context:
space:
mode:
authorShinwoo Kim <cinoo.kim@samsung.com>2020-12-07 16:52:54 +0900
committerShinwoo Kim <cinoo.kim@samsung.com>2020-12-07 16:53:08 +0900
commit25dba9ebcf7b5a1329d6d716b0fb783883e4a6d6 (patch)
treec81386313d26d44b0e55074520e9dc95972035c5 /src/modules
parent1aef7c697ab538e73c90617fb872bcf595ccf7c1 (diff)
png: handle 9-patch ends with stretch
Summary: The strech region has paired information; total and strechable. Refer to function _strech_region_load retrieving strech region info. But if 9-patch information line ends with strechable, png did not push the strechable information. And it leads to devide by zero. This patch is adding strechable info to the strech region, if 9-patch information ends with strechable. Test Plan: [Code] {F4219278} {F4219280} [Test] ECORE_EVAS_ENGINE=opengl_x11 ./evas-image-9patch ./end_with_strech.9.png Reviewers: Hermet, jsuya, herb, cedric Reviewed By: Hermet Subscribers: #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D12204
Diffstat (limited to 'src/modules')
-rw-r--r--src/modules/evas/image_loaders/png/evas_image_load_png.c14
1 files changed, 14 insertions, 0 deletions
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 ce55916b0e..9e5073cc5b 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
@@ -473,6 +473,13 @@ evas_image_load_file_head_with_data_png(void *loader_data,
473 evas_loader_helper_stretch_region_push(&prop->stretch.horizontal.region, 473 evas_loader_helper_stretch_region_push(&prop->stretch.horizontal.region,
474 &current, stretchable); 474 &current, stretchable);
475 } 475 }
476 // End with strechable, add length info
477 if (stretchable)
478 {
479 evas_loader_helper_stretch_region_push(&prop->stretch.horizontal.region,
480 &current, stretchable);
481 stretchable = !stretchable;
482 }
476 483
477 current = 0; 484 current = 0;
478 485
@@ -513,6 +520,13 @@ evas_image_load_file_head_with_data_png(void *loader_data,
513 evas_loader_helper_stretch_region_push(&prop->stretch.vertical.region, 520 evas_loader_helper_stretch_region_push(&prop->stretch.vertical.region,
514 &current, stretchable); 521 &current, stretchable);
515 } 522 }
523 // End with strechable, add length info
524 if (stretchable)
525 {
526 evas_loader_helper_stretch_region_push(&prop->stretch.vertical.region,
527 &current, stretchable);
528 stretchable = !stretchable;
529 }
516 530
517 // Content zone is optional, if not provided, we should use the one we guessed 531 // Content zone is optional, if not provided, we should use the one we guessed
518 if (prop->content.x == 0 || prop->content.y == 0) 532 if (prop->content.x == 0 || prop->content.y == 0)