--- ./actions.c.00 2005-07-03 19:25:14.000000000 +0200 +++ ./actions.c 2007-01-24 19:21:48.000000000 +0100 @@ -960,9 +960,9 @@ && !wwin->flags.net_handle_icon #endif ) { - if (!wwin->flags.icon_moved) { - PlaceIcon(wwin->screen_ptr, &wwin->icon_x, &wwin->icon_y, wGetHeadForWindow(wwin)); - } + /* if (!wwin->flags.icon_moved) { */ + /* PlaceIcon(wwin->screen_ptr, &wwin->icon_x, &wwin->icon_y, wGetHeadForWindow(wwin)); */ + /* } */ wwin->icon = wIconCreate(wwin); wwin->icon->mapped = 1; @@ -1109,6 +1109,9 @@ void wDeiconifyWindow(WWindow *wwin) { + + if (!wwin) { return; } + #ifdef NETWM_HINTS /* we're hiding for show_desktop */ int netwm_hidden = wwin->flags.net_show_desktop && --- ./appicon.c.00 2004-10-14 19:31:49.000000000 +0200 +++ ./appicon.c 2007-01-24 19:24:34.000000000 +0100 @@ -159,6 +159,7 @@ aicon->wm_instance = wstrdup(leader_win->wm_instance); aicon->icon = wIconCreate(leader_win); + #ifdef DEMATERIALIZE_ICON { XSetWindowAttributes attribs; --- ./application.c.00 2005-03-11 22:35:36.000000000 +0100 +++ ./application.c 2007-01-24 19:32:56.000000000 +0100 @@ -324,6 +324,7 @@ /* application descriptor */ XSaveContext(dpy, main_window, wAppWinContext, (XPointer)wapp); +#if 0 if (!WFLAGP(wapp->main_window_desc, no_appicon)) { wapp->app_icon = NULL; if (scr->last_dock) @@ -359,6 +360,9 @@ } else { wapp->app_icon = NULL; } +#endif + + wapp->app_icon = NULL; if (wapp->app_icon) { wapp->app_icon->main_window = main_window;