summaryrefslogtreecommitdiff
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
parent7a20b084fb61c3072dcd9706032c23453dfea108 (diff)
parent3cd6191409207813a3801c584996fa1942e0f9d1 (diff)
downloadefl-2eae1076047f00ca913693812b4830873cafdcc9.tar.gz
Merge branch 'master' into devs/hermet/lottie
-rwxr-xr-x.ci/ci-configure.sh6
-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
5 files changed, 20 insertions, 9 deletions
diff --git a/.ci/ci-configure.sh b/.ci/ci-configure.sh
index 85aeb75202..77c196848b 100755
--- a/.ci/ci-configure.sh
+++ b/.ci/ci-configure.sh
@@ -17,7 +17,7 @@ if [ "$DISTRO" != "" ] ; then
# - Ibus
ENABLED_LINUX_COPTS=" -Dfb=true -Dsdl=true -Dbuffer=true -Dbuild-id=travis-build \
-Ddebug-threads=true -Dglib=true -Dg-mainloop=true -Dxpresent=true -Dxinput22=true \
- -Devas-loaders-disabler=json,avif -Decore-imf-loaders-disabler= \
+ -Decore-imf-loaders-disabler= \
-Dharfbuzz=true -Dpixman=true -Dhyphen=true -Defl-one=true \
-Dvnc-server=true -Delua=true -Dbindings=lua,cxx,mono -Delogind=false -Dinstall-eo-files=true -Dphysics=true"
@@ -26,7 +26,7 @@ if [ "$DISTRO" != "" ] ; then
-Dopengl=none -Deina-magic-debug=false -Dbuild-examples=false -Dbuild-tests=false \
-Dcrypto=gnutls -Dglib=false -Dgstreamer=false -Dsystemd=false -Dpulseaudio=false \
-Dnetwork-backend=connman -Dxinput2=false -Dtslib=false \
- -Devas-loaders-disabler=gst,pdf,ps,raw,svg,xcf,bmp,dds,eet,generic,gif,ico,jp2k,json,pmaps,psd,tga,tgv,tiff,wbmp,webp,xpm,avif \
+ -Devas-loaders-disabler=gst,pdf,ps,raw,svg,xcf,bmp,dds,eet,generic,gif,ico,jp2k,json,pmaps,psd,tga,tgv,tiff,wbmp,webp,xpm,avif,heif \
-Decore-imf-loaders-disabler=xim,ibus,scim \
-Dfribidi=false -Dfontconfig=false \
-Dedje-sound-and-video=false -Dembedded-lz4=false -Dlibmount=false -Dv4l2=false \
@@ -37,7 +37,7 @@ if [ "$DISTRO" != "" ] ; then
MINGW_COPTS="--cross-file .ci/cross_toolchain.txt -Davahi=false -Deeze=false -Dsystemd=false \
-Dpulseaudio=false -Dx11=false -Dopengl=none -Dlibmount=false \
- -Devas-loaders-disabler=json,pdf,ps,raw,svg,rsvg,avif \
+ -Devas-loaders-disabler=json,pdf,ps,raw,svg,rsvg,avif,heif \
-Dharfbuzz=true -Dpixman=true -Dembedded-lz4=false "
if [ "$1" = "default" ]; then
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 {
Efl_Gfx_Entity *sizer;
unsigned int start_id, end_id;
Eina_Bool allow_manual_deselection : 1;
+ Eina_Bool api_selection_change : 1;
} Efl_Ui_Collection_Data;
static 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)
{
_single_selection_behaviour(obj, pd, ev->object);
}
- else if (pd->mode == EFL_UI_SELECT_MODE_MULTI && _elm_config->desktop_entry)
+ else if (pd->mode == EFL_UI_SELECT_MODE_MULTI && _elm_config->desktop_entry && !pd->api_selection_change)
{
const Evas_Modifier *mod = evas_key_modifier_get(evas_object_evas_get(ev->object));
if (!(efl_input_clickable_interaction_get(ev->object)
@@ -1111,13 +1112,17 @@ _selectable_range_apply(Eina_List *start, Eina_Bool flag)
EOLIAN static void
_efl_ui_collection_efl_ui_multi_selectable_all_select(Eo *obj EINA_UNUSED, Efl_Ui_Collection_Data *pd)
{
+ pd->api_selection_change = EINA_TRUE;
_selectable_range_apply(pd->items, EINA_TRUE);
+ pd->api_selection_change = EINA_FALSE;
}
EOLIAN static void
_efl_ui_collection_efl_ui_multi_selectable_all_unselect(Eo *obj EINA_UNUSED, Efl_Ui_Collection_Data *pd)
{
+ pd->api_selection_change = EINA_TRUE;
_selectable_range_apply(pd->items, EINA_FALSE);
+ pd->api_selection_change = EINA_FALSE;
}
static 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
{
if ((sub_d->type == TEXT) && (!strcmp(part, sub_d->part)))
{
- if (!text)
+ if ((!text) || (text[0] == 0))
{
- _text_signal_emit(sd, sub_d, EINA_FALSE);
+ if ((!strcmp(part, "elm.text") || !strcmp(part, "efl.text")))
+ _text_signal_emit(sd, sub_d, EINA_FALSE);
eina_stringshare_del(sub_d->part);
free(sub_d);
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
}
}
- if (!text) return EINA_TRUE;
+ if ((!text) || (text[0] == 0)) return EINA_TRUE;
if (elm_widget_is_legacy(obj))
{
@@ -1505,7 +1506,8 @@ _efl_ui_layout_text_generic_set(Eo *obj, Efl_Ui_Layout_Data *sd, const char *par
sd->subs = eina_list_append(sd->subs, sub_d);
}
- _text_signal_emit(sd, sub_d, EINA_TRUE);
+ if ((!strcmp(part, "elm.text") || !strcmp(part, "efl.text")))
+ _text_signal_emit(sd, sub_d, EINA_TRUE);
efl_canvas_group_change(obj);
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,
ENFN->image_data_preload_cancel(ENC, o->engine_data, eo_obj, EINA_FALSE);
}
ENFN->image_free(ENC, o->engine_data);
+ o->engine_data = NULL;
}
- o->engine_data = NULL;
o->load_error = EFL_GFX_IMAGE_LOAD_ERROR_NONE;
if (!lo) return;
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)
im->fglyph->ext_dat = NULL;
im->fglyph->ext_dat_free = NULL;
}
+ else if ((im->gc) && (im->gc->shared))
+ {
+ im->gc->shared->images = eina_list_remove(im->gc->shared->images, im);
+ }
if (im->gc)
evas_gl_common_context_flush(im->gc);