From: "Rodolfo García Peñas (kix)" <[email protected]>
The function get_pixmap_icon_from_default_icon() is splitted in two
functions now:
1. get_rimage_icon_from_default_icon, set the rimage at icon->image
The code comes from the function get_pixmap_icon_from_default_icon()
2. The get_pixmap_icon_from_default_icon(), but now only converts
the icon->file_image in icon->pixmap
---
src/icon.c | 18 ++++++++++++++++--
1 file changed, 16 insertions(+), 2 deletions(-)
diff --git a/src/icon.c b/src/icon.c
index 5fe444f..89159c2 100644
--- a/src/icon.c
+++ b/src/icon.c
@@ -64,6 +64,7 @@ static void get_pixmap_icon_from_icon_win(WIcon *icon);
static int get_pixmap_icon_from_wm_hints(WIcon *icon);
static void get_pixmap_icon_from_user_icon(WIcon *icon);
static void get_pixmap_icon_from_default_icon(WIcon *icon);
+static void get_rimage_icon_from_default_icon(WIcon *icon);
static void icon_update_pixmap(WIcon *icon, RImage *image);
static void unset_icon_image(WIcon *icon);
@@ -638,7 +639,7 @@ static void get_pixmap_icon_from_user_icon(WIcon *icon)
get_pixmap_icon_from_default_icon(icon);
}
-static void get_pixmap_icon_from_default_icon(WIcon *icon)
+static void get_rimage_icon_from_default_icon(WIcon *icon)
{
WScreen *scr = icon->core->screen_ptr;
@@ -646,8 +647,21 @@ static void get_pixmap_icon_from_default_icon(WIcon *icon)
if (!scr->def_icon_rimage)
scr->def_icon_rimage = get_default_image(scr);
+ /* Remove the icon image */
+ unset_icon_image(icon);
+
+ /* Set the new icon image */
+ icon->file = NULL;
+ icon->file_image = RRetainImage(scr->def_icon_rimage);
+}
+
+static void get_pixmap_icon_from_default_icon(WIcon *icon)
+{
+ /* Update icon->file image */
+ get_rimage_icon_from_default_icon(icon);
+
/* Now, create the pixmap using the default (saved) image */
- icon_update_pixmap(icon, scr->def_icon_rimage);
+ icon_update_pixmap(icon, icon->file_image);
}
/* This function creates the RImage using the default icon */
--
1.7.10.4
--
To unsubscribe, send mail to [email protected].