rem: tb->d.pixmap = NULL;
context: WMDestroyTextBlock(WMText *tPtr, void *vtb){    TextBlock *tb = (TextBlock *)vtb;    if (!tPtr || !tb)        return;    if (tb->graphic) {        if(tb->object) {/* naturally, there's a danger to destroying widgets whose action    brings us here: ie. press a button to destroy it...    need to find a safer way. till then... this stays commented out *//* 5 months later... destroy it 10 seconds after now which should be    enough time for the widget's action to be completed... :-) */          WMAddTimerHandler(10000, destroyWidget, (void *)tb->d.widget);          tb->d.widget = NULL;        } else {            WMReleasePixmap(tb->d.pixmap);            tb->d.pixmap = NULL;        }    } else {        WMReleaseFont(tb->d.font);    }            WMReleaseColor(tb->color);    if (tb->sections && tb->nsections > 0)        wfree(tb->sections);    wfree(tb->text);    wfree(tb);    tb = NULL;}