This is an automated email from the git hooks/post-receive script.
git pushed a commit to branch master
in repository efl.
View the commit online.
commit 156660a56b9d53b7748b6beef8b4b79dd5970dbf
Author: Carsten Haitzler <[email protected]>
AuthorDate: Wed Feb 15 20:33:33 2023 +0000
elm - icon - policy change. use theme defined std icon FIRST always
if you set a standard named icon - look in the theme first for it as
this should match the look of the theme, THEN look in the selected
icon theme. this fixes blank icons with selecting and icon theme in
many situations and fixes blank cons when "use elm icon theme" is
selected.
@fix
---
src/lib/elementary/elm_icon.c | 32 +++++++++++++++++++++-----------
1 file changed, 21 insertions(+), 11 deletions(-)
diff --git a/src/lib/elementary/elm_icon.c b/src/lib/elementary/elm_icon.c
index b6aeff0135..5894c9bb79 100644
--- a/src/lib/elementary/elm_icon.c
+++ b/src/lib/elementary/elm_icon.c
@@ -423,27 +423,37 @@ _internal_elm_icon_standard_set(Evas_Object *obj,
Eina_Bool *fdo)
{
char *tmp;
+ const char *stdtmp;
Eina_Bool ret = EINA_FALSE;
ELM_ICON_DATA_GET(obj, sd);
/* try locating the icon using the specified theme */
- if (!strcmp(ELM_CONFIG_ICON_THEME_ELEMENTARY, elm_config_icon_theme_get()))
+ stdtmp = sd->stdicon;
+ sd->stdicon = NULL;
+ ret = _icon_standard_set(obj, name);
+ sd->stdicon = stdtmp;
+ if (ret && fdo) *fdo = EINA_FALSE;
+ if (!ret)
{
- ret = _icon_standard_set(obj, name);
- if (ret && fdo) *fdo = EINA_FALSE;
-
- if (!ret)
+ /* try locating the icon using the specified theme */
+ if (!strcmp(ELM_CONFIG_ICON_THEME_ELEMENTARY, elm_config_icon_theme_get()))
+ {
+ ret = _icon_standard_set(obj, name);
+ if (ret && fdo) *fdo = EINA_FALSE;
+
+ if (!ret)
+ {
+ ret = _icon_freedesktop_set(obj, "hicolor", name, _icon_size_min_get(obj));
+ if (ret && fdo) *fdo = EINA_TRUE;
+ }
+ }
+ else
{
- ret = _icon_freedesktop_set(obj, "hicolor", name, _icon_size_min_get(obj));
+ ret = _icon_freedesktop_set(obj, NULL, name, _icon_size_min_get(obj));
if (ret && fdo) *fdo = EINA_TRUE;
}
}
- else
- {
- ret = _icon_freedesktop_set(obj, NULL, name, _icon_size_min_get(obj));
- if (ret && fdo) *fdo = EINA_TRUE;
- }
if (ret)
{
--
To stop receiving notification emails like this one, please contact
the administrator of this repository.