rem: free(handler);
add: wfree(handler);
context: WMDeleteInputHandler(WMHandlerID handlerID){    InputHandler *tmp, *handler = (InputHandler*)handlerID;    if (!handler || !inputHandler)	return;    tmp = inputHandler;    if (tmp == handler) {	inputHandler = handler->next;	free(handler);    } else {	while (tmp->next) {	    if (tmp->next == handler) {		tmp->next = handler->next;		free(handler);		break;	    }	    tmp = tmp->next;	}    }}