diff --git a/src/lib/eina/eina_value.c b/src/lib/eina/eina_value.c index cb5fbc11c4..ddb02af48d 100644 --- a/src/lib/eina/eina_value.c +++ b/src/lib/eina/eina_value.c @@ -2224,6 +2224,16 @@ _eina_value_type_stringshare_pset(const Eina_Value_Type *type EINA_UNUSED, void return eina_stringshare_replace((const char **)mem, *str); } +static Eina_Bool +_eina_value_type_stringshare_pget(const Eina_Value_Type *type EINA_UNUSED, const void *mem, void *ptr) +{ + const Eina_Stringshare * const *src = mem; + Eina_Stringshare **dst = ptr; + + *dst = eina_stringshare_ref(*src); + return EINA_TRUE; +} + static Eina_Bool _eina_value_type_string_flush(const Eina_Value_Type *type EINA_UNUSED, void *mem) { @@ -5197,7 +5207,7 @@ static const Eina_Value_Type _EINA_VALUE_TYPE_BASICS[] = { NULL, /* no convert from */ _eina_value_type_stringshare_vset, _eina_value_type_stringshare_pset, - _eina_value_type_string_common_pget + _eina_value_type_stringshare_pget }, { EINA_VALUE_TYPE_VERSION,