Fix failing assert because of invalid region coordinates

Steps to reproduce were:
* Disable tool settings region in 3D View (View > Tool Settings)
* Split the 3D View and drag all the way down

The removed code doesn't seem to be needed anymore. Tested this on hiDPI
too, seems fine.

These kind of fixes are always tricky, so I wouldn't be surprised if
there are any issues caused by this.
This commit is contained in:
Julian Eisel 2020-03-09 17:56:43 +01:00
parent 32fc22db56
commit 214cc3c245
2 changed files with 2 additions and 12 deletions

View File

@ -1382,6 +1382,7 @@ static void region_rect_recursive(
region->winrct.ymax = region->winrct.ymin + prefsizey - 1;
winrct->ymin = region->winrct.ymax + 1;
}
BLI_rcti_sanitize(winrct);
}
}
else if (ELEM(alignment, RGN_ALIGN_LEFT, RGN_ALIGN_RIGHT)) {
@ -1407,6 +1408,7 @@ static void region_rect_recursive(
region->winrct.xmax = region->winrct.xmin + prefsizex - 1;
winrct->xmin = region->winrct.xmax + 1;
}
BLI_rcti_sanitize(winrct);
}
}
else if (alignment == RGN_ALIGN_VSPLIT || alignment == RGN_ALIGN_HSPLIT) {

View File

@ -2167,21 +2167,9 @@ void WM_window_screen_rect_calc(const wmWindow *win, rcti *r_rect)
switch (global_area->global->align) {
case GLOBAL_AREA_ALIGN_TOP:
if ((screen_rect.ymax - height) > window_rect.ymin) {
height += U.pixelsize;
}
if (screen_rect.ymax < (window_rect.ymax - 1)) {
height += U.pixelsize;
}
screen_rect.ymax -= height;
break;
case GLOBAL_AREA_ALIGN_BOTTOM:
if (screen_rect.ymin > window_rect.ymin) {
height += U.pixelsize;
}
if ((screen_rect.ymin + height) < (window_rect.ymax - 1)) {
height += U.pixelsize;
}
screen_rect.ymin += height;
break;
default: