summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorHermet Park <chuneon.park@samsung.com>2021-03-15 14:57:34 +0900
committerHermet Park <chuneon.park@samsung.com>2021-03-15 14:57:34 +0900
commit2eae1076047f00ca913693812b4830873cafdcc9 (patch)
treea66ded5e1bee0be383180c3f2e087266d0022c07 /src
parent7a20b084fb61c3072dcd9706032c23453dfea108 (diff)
parent3cd6191409207813a3801c584996fa1942e0f9d1 (diff)
Merge branch 'master' into devs/hermet/lottie
Diffstat (limited to 'src')
-rw-r--r--src/lib/elementary/efl_ui_collection.c7
-rw-r--r--src/lib/elementary/efl_ui_layout.c10
-rw-r--r--src/lib/evas/canvas/evas_object_image.c2
-rw-r--r--src/modules/evas/engines/gl_common/evas_gl_image.c4
4 files changed, 17 insertions, 6 deletions
diff --git a/src/lib/elementary/efl_ui_collection.c b/src/lib/elementary/efl_ui_collection.c
index bd3123a70f..2161181687 100644
--- a/src/lib/elementary/efl_ui_collection.c
+++ b/src/lib/elementary/efl_ui_collection.c
@@ -147,6 +147,7 @@ typedef struct {
147 Efl_Gfx_Entity *sizer; 147 Efl_Gfx_Entity *sizer;
148 unsigned int start_id, end_id; 148 unsigned int start_id, end_id;
149 Eina_Bool allow_manual_deselection : 1; 149 Eina_Bool allow_manual_deselection : 1;
150 Eina_Bool api_selection_change : 1;
150} Efl_Ui_Collection_Data; 151} Efl_Ui_Collection_Data;
151 152
152static Eina_Bool register_item(Eo *obj, Efl_Ui_Collection_Data *pd, Efl_Ui_Item *item); 153static Eina_Bool register_item(Eo *obj, Efl_Ui_Collection_Data *pd, Efl_Ui_Item *item);
@@ -579,7 +580,7 @@ _selection_changed(void *data, const Efl_Event *ev)
579 { 580 {
580 _single_selection_behaviour(obj, pd, ev->object); 581 _single_selection_behaviour(obj, pd, ev->object);
581 } 582 }
582 else if (pd->mode == EFL_UI_SELECT_MODE_MULTI && _elm_config->desktop_entry) 583 else if (pd->mode == EFL_UI_SELECT_MODE_MULTI && _elm_config->desktop_entry && !pd->api_selection_change)
583 { 584 {
584 const Evas_Modifier *mod = evas_key_modifier_get(evas_object_evas_get(ev->object)); 585 const Evas_Modifier *mod = evas_key_modifier_get(evas_object_evas_get(ev->object));
585 if (!(efl_input_clickable_interaction_get(ev->object) 586 if (!(efl_input_clickable_interaction_get(ev->object)
@@ -1111,13 +1112,17 @@ _selectable_range_apply(Eina_List *start, Eina_Bool flag)
1111EOLIAN static void 1112EOLIAN static void
1112_efl_ui_collection_efl_ui_multi_selectable_all_select(Eo *obj EINA_UNUSED, Efl_Ui_Collection_Data *pd) 1113_efl_ui_collection_efl_ui_multi_selectable_all_select(Eo *obj EINA_UNUSED, Efl_Ui_Collection_Data *pd)
1113{ 1114{
1115 pd->api_selection_change = EINA_TRUE;
1114 _selectable_range_apply(pd->items, EINA_TRUE); 1116 _selectable_range_apply(pd->items, EINA_TRUE);
1117 pd->api_selection_change = EINA_FALSE;
1115} 1118}
1116 1119
1117EOLIAN static void 1120EOLIAN static void
1118_efl_ui_collection_efl_ui_multi_selectable_all_unselect(Eo *obj EINA_UNUSED, Efl_Ui_Collection_Data *pd) 1121_efl_ui_collection_efl_ui_multi_selectable_all_unselect(Eo *obj EINA_UNUSED, Efl_Ui_Collection_Data *pd)
1119{ 1122{
1123 pd->api_selection_change = EINA_TRUE;
1120 _selectable_range_apply(pd->items, EINA_FALSE); 1124 _selectable_range_apply(pd->items, EINA_FALSE);
1125 pd->api_selection_change = EINA_FALSE;
1121} 1126}
1122 1127
1123static void 1128static void
diff --git a/src/lib/elementary/efl_ui_layout.c b/src/lib/elementary/efl_ui_layout.c
index f912043397..ae757b1bb4 100644
--- a/src/lib/elementary/efl_ui_layout.c
+++ b/src/lib/elementary/efl_ui_layout.c
@@ -1463,9 +1463,10 @@ _efl_ui_layout_text_generic_set(Eo *obj, Efl_Ui_Layout_Data *sd, const char *par
1463 { 1463 {
1464 if ((sub_d->type == TEXT) && (!strcmp(part, sub_d->part))) 1464 if ((sub_d->type == TEXT) && (!strcmp(part, sub_d->part)))
1465 { 1465 {
1466 if (!text) 1466 if ((!text) || (text[0] == 0))
1467 { 1467 {
1468 _text_signal_emit(sd, sub_d, EINA_FALSE); 1468 if ((!strcmp(part, "elm.text") || !strcmp(part, "efl.text")))
1469 _text_signal_emit(sd, sub_d, EINA_FALSE);
1469 eina_stringshare_del(sub_d->part); 1470 eina_stringshare_del(sub_d->part);
1470 free(sub_d); 1471 free(sub_d);
1471 edje_object_part_text_escaped_set 1472 edje_object_part_text_escaped_set
@@ -1479,7 +1480,7 @@ _efl_ui_layout_text_generic_set(Eo *obj, Efl_Ui_Layout_Data *sd, const char *par
1479 } 1480 }
1480 } 1481 }
1481 1482
1482 if (!text) return EINA_TRUE; 1483 if ((!text) || (text[0] == 0)) return EINA_TRUE;
1483 1484
1484 if (elm_widget_is_legacy(obj)) 1485 if (elm_widget_is_legacy(obj))
1485 { 1486 {
@@ -1505,7 +1506,8 @@ _efl_ui_layout_text_generic_set(Eo *obj, Efl_Ui_Layout_Data *sd, const char *par
1505 sd->subs = eina_list_append(sd->subs, sub_d); 1506 sd->subs = eina_list_append(sd->subs, sub_d);
1506 } 1507 }
1507 1508
1508 _text_signal_emit(sd, sub_d, EINA_TRUE); 1509 if ((!strcmp(part, "elm.text") || !strcmp(part, "efl.text")))
1510 _text_signal_emit(sd, sub_d, EINA_TRUE);
1509 1511
1510 efl_canvas_group_change(obj); 1512 efl_canvas_group_change(obj);
1511 1513
diff --git a/src/lib/evas/canvas/evas_object_image.c b/src/lib/evas/canvas/evas_object_image.c
index 1e8e32cd94..84e08fcce1 100644
--- a/src/lib/evas/canvas/evas_object_image.c
+++ b/src/lib/evas/canvas/evas_object_image.c
@@ -284,8 +284,8 @@ _evas_image_init_set(const Eina_File *f, const char *key,
284 ENFN->image_data_preload_cancel(ENC, o->engine_data, eo_obj, EINA_FALSE); 284 ENFN->image_data_preload_cancel(ENC, o->engine_data, eo_obj, EINA_FALSE);
285 } 285 }
286 ENFN->image_free(ENC, o->engine_data); 286 ENFN->image_free(ENC, o->engine_data);
287 o->engine_data = NULL;
287 } 288 }
288 o->engine_data = NULL;
289 o->load_error = EFL_GFX_IMAGE_LOAD_ERROR_NONE; 289 o->load_error = EFL_GFX_IMAGE_LOAD_ERROR_NONE;
290 if (!lo) return; 290 if (!lo) return;
291 lo->emile.scale_down_by = o->load_opts->scale_down_by; 291 lo->emile.scale_down_by = o->load_opts->scale_down_by;
diff --git a/src/modules/evas/engines/gl_common/evas_gl_image.c b/src/modules/evas/engines/gl_common/evas_gl_image.c
index c63e22ecc3..7d05cab15d 100644
--- a/src/modules/evas/engines/gl_common/evas_gl_image.c
+++ b/src/modules/evas/engines/gl_common/evas_gl_image.c
@@ -702,6 +702,10 @@ evas_gl_common_image_free(Evas_GL_Image *im)
702 im->fglyph->ext_dat = NULL; 702 im->fglyph->ext_dat = NULL;
703 im->fglyph->ext_dat_free = NULL; 703 im->fglyph->ext_dat_free = NULL;
704 } 704 }
705 else if ((im->gc) && (im->gc->shared))
706 {
707 im->gc->shared->images = eina_list_remove(im->gc->shared->images, im);
708 }
705 709
706 if (im->gc) 710 if (im->gc)
707 evas_gl_common_context_flush(im->gc); 711 evas_gl_common_context_flush(im->gc);