mirror of
https://github.com/gryf/wmaker.git
synced 2025-12-23 22:52:34 +01:00
New helper function unset_icon_image()
The new function unset_icon_image() removes the RImage and the file path for a given icon.
This commit is contained in:
committed by
Carlos R. Mafra
parent
0106b2a4e9
commit
2ff138f311
21
src/icon.c
21
src/icon.c
@@ -66,6 +66,7 @@ static void get_pixmap_icon_from_user_icon(WIcon *icon);
|
||||
static void get_pixmap_icon_from_default_icon(WIcon *icon);
|
||||
|
||||
static void icon_update_pixmap(WIcon *icon, RImage *image);
|
||||
static void unset_icon_image(WIcon *icon);
|
||||
|
||||
static RImage *get_default_image(WScreen *scr);
|
||||
/****** Notification Observers ******/
|
||||
@@ -251,11 +252,7 @@ void wIconDestroy(WIcon * icon)
|
||||
if (icon->pixmap)
|
||||
XFreePixmap(dpy, icon->pixmap);
|
||||
|
||||
if (icon->file)
|
||||
wfree(icon->file);
|
||||
|
||||
if (icon->file_image != NULL)
|
||||
RReleaseImage(icon->file_image);
|
||||
unset_icon_image(icon);
|
||||
|
||||
wCoreDestroy(icon->core);
|
||||
wfree(icon);
|
||||
@@ -390,10 +387,7 @@ Bool wIconChangeImageFile(WIcon *icon, char *file)
|
||||
/* New image! */
|
||||
if (!error && image) {
|
||||
/* Remove the old one */
|
||||
if (icon->file_image) {
|
||||
RReleaseImage(icon->file_image);
|
||||
icon->file_image = NULL;
|
||||
}
|
||||
unset_icon_image(icon);
|
||||
|
||||
/* Set the new image */
|
||||
icon->file_image = image;
|
||||
@@ -585,6 +579,15 @@ void wIconSelect(WIcon * icon)
|
||||
}
|
||||
}
|
||||
|
||||
static void unset_icon_image(WIcon *icon)
|
||||
{
|
||||
if (icon->file)
|
||||
wfree(icon->file);
|
||||
|
||||
if (icon->file_image)
|
||||
RReleaseImage(icon->file_image);
|
||||
}
|
||||
|
||||
void wIconUpdate(WIcon *icon)
|
||||
{
|
||||
WScreen *scr = icon->core->screen_ptr;
|
||||
|
||||
Reference in New Issue
Block a user