One minor change to fix too-clever code. Frames will not be equal if their origins do not match, but their sizes could both be CGSizeZero.