- miny = min(win1->_maxy, win2->_maxy);
- minx = min(win1->_maxx, win2->_maxx);
+ starty = max(win1->_begy, win2->_begy);
+ startx = max(win1->_begx, win2->_begx);
+ endy = min(win1->_maxy + win1->_begy, win2->_maxy + win2->_begx);
+ endx = min(win1->_maxx + win1->_begx, win2->_maxx + win2->_begx);
+ if (starty >= endy || startx >= endx)
+ return;