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

Function Unlink

micropolis-activity/src/tk/tkpack.c:933–965  ·  view source on GitHub ↗
(packPtr)

Source from the content-addressed store, hash-verified

931 * None.
932 *
933 * Side effects:
934 * The parent will be scheduled for repacking.
935 *
936 *----------------------------------------------------------------------
937 */
938
939static void
940Unlink(packPtr)
941 register Packer *packPtr; /* Window to unlink. */
942{
943 register Packer *parentPtr, *packPtr2;
944
945 parentPtr = packPtr->parentPtr;
946 if (parentPtr == NULL) {
947 return;
948 }
949 if (parentPtr->childPtr == packPtr) {
950 parentPtr->childPtr = packPtr->nextPtr;
951 } else {
952 for (packPtr2 = parentPtr->childPtr; ; packPtr2 = packPtr2->nextPtr) {
953 if (packPtr2 == NULL) {
954 panic("Unlink couldn't find previous window");
955 }
956 if (packPtr2->nextPtr == packPtr) {
957 packPtr2->nextPtr = packPtr->nextPtr;
958 break;
959 }
960 }
961 }
962 if (!(parentPtr->flags & REQUESTED_REPACK)) {
963 parentPtr->flags |= REQUESTED_REPACK;
964 Tk_DoWhenIdle(ArrangePacking, (ClientData) parentPtr);
965 }
966 if (parentPtr->abortPtr != NULL) {
967 *parentPtr->abortPtr = 1;
968 }

Callers 3

Tk_PackCmdFunction · 0.85
PackAfterFunction · 0.85
PackStructureProcFunction · 0.85

Calls 2

panicFunction · 0.85
Tk_DoWhenIdleFunction · 0.70

Tested by

no test coverage detected