if(derivedData->getNumFaces(derivedData) == 0 || dm->getNumFaces(dm) == 0) {
switch(operation) {
case eBooleanModifierOp_Intersect:
-- result = CDDM_new(0, 0, 0);
++ result = CDDM_new(0, 0, 0, 0, 0);
break;
case eBooleanModifierOp_Union:
if(derivedData->getNumFaces(derivedData)) result = derivedData;
-- else result = CDDM_copy(dm);
++ else result = CDDM_copy(dm, FALSE);
break;