wIconUpdate wwin checks
authorRodolfo García Peñas (kix) <kix@kix.es>
Wed, 14 Nov 2012 23:53:03 +0000 (15 00:53 +0100)
committerCarlos R. Mafra <crmafra@gmail.com>
Sat, 17 Nov 2012 19:38:45 +0000 (17 20:38 +0100)
The variable wwin is only used in one block of the if, so should be moved
inside this block. OTOH, is better check if the variabl exists before
assign it. The code now is more stable and avoid crashes.

src/icon.c

index 0edf53c..e745619 100644 (file)
@@ -599,11 +599,14 @@ static void unset_icon_image(WIcon *icon)
 
 void wIconUpdate(WIcon *icon, RImage *image)
 {
-       WWindow *wwin = icon->owner;
+       WWindow *wwin = NULL;
 
        if (image) {
                icon->file_image = image;
        } else {
+               if (icon && icon->owner)
+                       wwin = icon->owner;
+
                if (wwin && WFLAGP(wwin, always_user_icon)) {
                        /* Forced use user_icon */
                        get_rimage_icon_from_user_icon(icon);