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