MCPcopy Create free account
hub / github.com/SimHacker/micropolis / DestroyButton

Function DestroyButton

micropolis-activity/src/tk/tkbutton.c:645–728  ·  view source on GitHub ↗
(clientData)

Source from the content-addressed store, hash-verified

643 * Everything associated with the widget is freed up.
644 *
645 *----------------------------------------------------------------------
646 */
647
648static void
649DestroyButton(clientData)
650 ClientData clientData; /* Info about entry widget. */
651{
652 register Button *butPtr = (Button *) clientData;
653
654 if (butPtr->text != NULL) {
655 ckfree(butPtr->text);
656 }
657 if (butPtr->textVarName != NULL) {
658 Tcl_UntraceVar(butPtr->interp, butPtr->textVarName,
659 TCL_GLOBAL_ONLY|TCL_TRACE_WRITES|TCL_TRACE_UNSETS,
660 ButtonTextVarProc, (ClientData) butPtr);
661 ckfree(butPtr->textVarName);
662 }
663 if (butPtr->bitmap != None) {
664#if defined(USE_XPM3)
665 Tk_FreePixmap(butPtr->bitmap);
666#else
667 Tk_FreeBitmap(butPtr->bitmap);
668#endif
669 }
670 if (butPtr->normalBorder != NULL) {
671 Tk_Free3DBorder(butPtr->normalBorder);
672 }
673 if (butPtr->activeBorder != NULL) {
674 Tk_Free3DBorder(butPtr->activeBorder);
675 }
676 if (butPtr->fontPtr != NULL) {
677 Tk_FreeFontStruct(butPtr->fontPtr);
678 }
679 if (butPtr->normalFg != NULL) {
680 Tk_FreeColor(butPtr->normalFg);
681 }
682 if (butPtr->disabledFg != NULL) {
683 Tk_FreeColor(butPtr->disabledFg);
684 }
685 if (butPtr->activeFg != NULL) {
686 Tk_FreeColor(butPtr->activeFg);
687 }
688 if (butPtr->normalTextGC != None) {
689 Tk_FreeGC(butPtr->normalTextGC);
690 }
691 if (butPtr->activeTextGC != None) {
692 Tk_FreeGC(butPtr->activeTextGC);
693 }
694 if (butPtr->gray != None) {
695 Tk_FreeBitmap(butPtr->gray);
696 }
697 if (butPtr->disabledGC != None) {
698 Tk_FreeGC(butPtr->disabledGC);
699 }
700 if (butPtr->selectorFg != NULL) {
701 Tk_FreeColor(butPtr->selectorFg);
702 }

Callers

nothing calls this directly

Calls 9

Tcl_UntraceVarFunction · 0.85
Tk_FreePixmapFunction · 0.85
Tk_FreeBitmapFunction · 0.85
Tk_Free3DBorderFunction · 0.85
Tk_FreeFontStructFunction · 0.85
Tk_FreeColorFunction · 0.85
Tk_FreeGCFunction · 0.85
Tk_FreeCursorFunction · 0.85
Tk_DeleteTimerHandlerFunction · 0.70

Tested by

no test coverage detected