diff --git a/src/client.c b/src/client.c index 11104faa..4f1cca29 100644 --- a/src/client.c +++ b/src/client.c @@ -362,19 +362,19 @@ wClientCheckProperty(WWindow *wwin, XPropertyEvent *event) WApplication *wapp = wApplicationOf(wwin->main_window); char **argv; int argc; - - if (wapp && wapp->app_icon) { - if (wapp->app_icon->command!=NULL) { - wfree(wapp->app_icon->command); - wapp->app_icon->command = NULL; - } - - if (XGetCommand(dpy, wwin->main_window, &argv, &argc)) { - if (argc > 0 && argv != NULL) - wapp->app_icon->command = FlattenStringList(argv,argc); - if (argv) { - XFreeStringList(argv); + if (!wapp || !wapp->app_icon) + break; + + if (XGetCommand(dpy, wwin->main_window, &argv, &argc)) { + if (argc > 0 && argv != NULL) { + if (wapp->app_icon->command) { + free(wapp->app_icon->command); + wapp->app_icon->command = NULL; } + wapp->app_icon->command = wtokenjoin(argv,argc); + } + if (argv) { + XFreeStringList(argv); } } }