rem: if (retHint->res_class) { if (strcmp("WMSoundServer", retHint->res_class) == 0) { soundServer = lstChildren[indexCount]; XFree(lstChildren); if(retHint) { XFree(retHint); } return; }
add: if (retHint->res_class) { if (strcmp("WMSoundServer", retHint->res_class)==0 ||  (retHint->res_name && strcmp("wsoundserver", retHint->res_name)==0 && strcmp("DockApp", retHint->res_class)==0)) {  soundServer = lstChildren[indexCount]; XFree(lstChildren); if(retHint) { XFree(retHint); } return; }
context: wSoundServerGrab(Window wm_win){    Window	*lstChildren;    Window	retRoot;    Window	retParent;    int		indexCount;    u_int	numChildren;    XClassHint	*retHint;        if (XQueryTree(dpy, wm_win, &retRoot, &retParent, &lstChildren, &numChildren)) {	for (indexCount = 1; indexCount < numChildren; indexCount++) {	    retHint = XAllocClassHint();	    if (!retHint) {		XFree(lstChildren);		return;	    }	    	    XGetClassHint (dpy, lstChildren[indexCount], retHint);	    if (retHint->res_class) {		if (strcmp("WMSoundServer", retHint->res_class) == 0) {		    soundServer = lstChildren[indexCount];		    XFree(lstChildren);		    if(retHint) {			XFree(retHint);		    }		    return;		}	    }	    XFree(retHint);	    retHint = 0;	}	XFree(lstChildren);    }    return;}