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