rem: assert(!sPtr->flags.splitViewIsFull);
add: CHECK_CLASS(sPtr, WC_SplitView);  if (!(p = (T_SplitViewSubView*)wmalloc(sizeof(T_SplitViewSubView)))) return;  wasMapped = subview->flags.mapped; if (wasMapped) W_UnmapView(subview);  count = _GetSubViewsCount(); p->view = subview; getConstraints(sPtr, count, &(p->minSize), &(p->maxSize)); if (sPtr->flags.vertical) p->size = subview->size.width; else p->size = subview->size.height;  WMPutInBag(sPtr->subviewsBag,(void*)p); reparentView(sPtr, subview, 0);
context: WMAddSplitViewSubview(WMSplitView *sPtr, WMView *subview){    int wasMapped;    assert(!sPtr->flags.splitViewIsFull);        wasMapped = subview->flags.mapped;    if (wasMapped) {	W_UnmapView(subview);    }    W_ReparentView(subview, sPtr->view, 0, 0);#if 0    if (sPtr->resizeSubviewsProc && subviewCount(sPtr)>1) {	(*sPtr->resizeSubviewsProc)(sPtr, sPtr->view->size.width, 				    sPtr->view->size.height);	/* check if there is free space for the new subview and	 * put the subview in it */    } else {    }#endif    WMAdjustSplitViewSubviews(sPtr);        if (subviewCount(sPtr)==2)	sPtr->flags.splitViewIsFull = 1;        if (wasMapped) {	W_MapView(subview);    }}