From: Doyoun Kang Date: Wed, 21 Apr 2021 05:44:53 +0000 (+0900) Subject: e_hints: modify code for e_hints_aux_hint_add_with_pixmap X-Git-Tag: accepted/tizen/unified/20210422.005317^0 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=refs%2Fchanges%2F04%2F257204%2F2;p=platform%2Fupstream%2Fenlightenment.git e_hints: modify code for e_hints_aux_hint_add_with_pixmap If there exist the aux_hint which has a same ID and its name is not same to the 3rd parameter (name), then we replace its name and value to new name and value. Change-Id: I383f45b3518fcbc97a09102c45fb9905eb2dee93 --- diff --git a/src/bin/e_hints.c b/src/bin/e_hints.c index 2d56dde..3febb76 100644 --- a/src/bin/e_hints.c +++ b/src/bin/e_hints.c @@ -275,13 +275,33 @@ e_hints_aux_hint_add_with_pixmap(E_Pixmap *cp, int32_t id, const char *name, con { if (hint->id == id) { - if (strcmp(hint->val, val) != 0) + if (!e_util_strcmp(hint->hint, name)) { - ELOGF("COMP", "AUX_HINT |Change [pixmap] [%d:%s:%s -> %s]", + if (strcmp(hint->val, val) != 0) + { + ELOGF("COMP", "AUX_HINT |Change [pixmap] [%d:%s:%s -> %s]", + e_pixmap_client_get(cp), + id, hint->hint, hint->val, val); + eina_stringshare_del(hint->val); + + hint->val = eina_stringshare_add(val); + hint->changed = EINA_TRUE; + hint->deleted = EINA_FALSE; + cdata->aux_hint.changed = 1; + } + } + else + { + // hint's name is not same, + // replace hint's name and value + + ELOGF("COMP", "AUX_HINT |Replace [pixmap] [%d:%s:%s -> %s:%s]", e_pixmap_client_get(cp), - id, hint->hint, hint->val, val); + id, hint->hint, hint->val, name, val); + eina_stringshare_del(hint->hint); eina_stringshare_del(hint->val); + hint->hint = eina_stringshare_add(name); hint->val = eina_stringshare_add(val); hint->changed = EINA_TRUE; hint->deleted = EINA_FALSE;