1
0
mirror of https://github.com/gryf/wmaker.git synced 2025-12-19 12:28:22 +01:00

New function set_icon_image_from_image

The new function set_icon_image_from_image() sets the icon image using
a image provided as argument.

This function will be used to avoid call wIconUpdate() with the image
argument, doing the code easier and faster.

This patch calls unset_icon_image(), to free the icon image, to avoid
lost memory. After this patch, in winspector.c, the wIconUpdate() call
don't free the memory before update it.
This commit is contained in:
Rodolfo García Peñas (kix)
2013-04-08 19:40:44 +02:00
committed by Carlos R. Mafra
parent 389a0a252c
commit c088aba057
3 changed files with 30 additions and 5 deletions

View File

@@ -763,14 +763,27 @@ static void applySettings(WMButton *button, InspectorPanel *panel)
* the icon text box has an icon path */
if (!WFLAGP(wwin, always_user_icon)) {
/* Change App Icon image, using the icon provided by the client */
if (wapp->app_icon)
wIconUpdate(wapp->app_icon->icon,
get_rimage_icon_from_wm_hints(wapp->app_icon->icon));
if (wapp->app_icon) {
RImage *image = get_rimage_icon_from_wm_hints(wapp->app_icon->icon);
if (image) {
set_icon_image_from_image(wapp->app_icon->icon, image);
update_icon_pixmap(wapp->app_icon->icon);
} else {
wIconUpdate(wapp->app_icon->icon, NULL);
}
}
/* Change icon image if the app is minimized,
* using the icon provided by the client */
if (wwin->icon)
wIconUpdate(wwin->icon, get_rimage_icon_from_wm_hints(wwin->icon));
if (wwin->icon) {
RImage *image = get_rimage_icon_from_wm_hints(wwin->icon);
if (image) {
set_icon_image_from_image(wwin->icon, image);
update_icon_pixmap(wwin->icon);
} else {
wIconUpdate(wwin->icon, NULL);
}
}
} else {
/* Change App Icon image */
if (wapp->app_icon)