Cleanup: Use new BLI_rct utilities to ensure valid rectangles
Technically this does a slight change to the check in wm_window.c: The assert now also allows zero width/height rectangles.
This commit is contained in:
@@ -439,42 +439,22 @@ void BLI_rcti_union(rcti *rct1, const rcti *rct2)
|
|||||||
|
|
||||||
void BLI_rctf_init(rctf *rect, float xmin, float xmax, float ymin, float ymax)
|
void BLI_rctf_init(rctf *rect, float xmin, float xmax, float ymin, float ymax)
|
||||||
{
|
{
|
||||||
if (xmin <= xmax) {
|
|
||||||
rect->xmin = xmin;
|
rect->xmin = xmin;
|
||||||
rect->xmax = xmax;
|
rect->xmax = xmax;
|
||||||
}
|
|
||||||
else {
|
|
||||||
rect->xmax = xmin;
|
|
||||||
rect->xmin = xmax;
|
|
||||||
}
|
|
||||||
if (ymin <= ymax) {
|
|
||||||
rect->ymin = ymin;
|
rect->ymin = ymin;
|
||||||
rect->ymax = ymax;
|
rect->ymax = ymax;
|
||||||
}
|
|
||||||
else {
|
BLI_rctf_sanitize(rect);
|
||||||
rect->ymax = ymin;
|
|
||||||
rect->ymin = ymax;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void BLI_rcti_init(rcti *rect, int xmin, int xmax, int ymin, int ymax)
|
void BLI_rcti_init(rcti *rect, int xmin, int xmax, int ymin, int ymax)
|
||||||
{
|
{
|
||||||
if (xmin <= xmax) {
|
|
||||||
rect->xmin = xmin;
|
rect->xmin = xmin;
|
||||||
rect->xmax = xmax;
|
rect->xmax = xmax;
|
||||||
}
|
|
||||||
else {
|
|
||||||
rect->xmax = xmin;
|
|
||||||
rect->xmin = xmax;
|
|
||||||
}
|
|
||||||
if (ymin <= ymax) {
|
|
||||||
rect->ymin = ymin;
|
rect->ymin = ymin;
|
||||||
rect->ymax = ymax;
|
rect->ymax = ymax;
|
||||||
}
|
|
||||||
else {
|
BLI_rcti_sanitize(rect);
|
||||||
rect->ymax = ymin;
|
|
||||||
rect->ymin = ymax;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -1438,9 +1438,8 @@ static void region_rect_recursive(
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* Fix any negative dimensions. This can happen when a quad split 3d view gets to small. (see
|
/* Fix any negative dimensions. This can happen when a quad split 3d view gets to small. (see
|
||||||
* T72200). BLI_rcti_init() sanitizes, making sure min values are <= max values. */
|
* T72200). */
|
||||||
BLI_rcti_init(
|
BLI_rcti_sanitize(&ar->winrct);
|
||||||
&ar->winrct, ar->winrct.xmin, ar->winrct.xmax, ar->winrct.ymin, ar->winrct.ymax);
|
|
||||||
|
|
||||||
quad++;
|
quad++;
|
||||||
}
|
}
|
||||||
@@ -2902,7 +2901,7 @@ void ED_region_info_draw(ARegion *ar,
|
|||||||
float fill_color[4],
|
float fill_color[4],
|
||||||
const bool full_redraw)
|
const bool full_redraw)
|
||||||
{
|
{
|
||||||
ED_region_info_draw_multiline(ar, (const char * [2]){text, NULL}, fill_color, full_redraw);
|
ED_region_info_draw_multiline(ar, (const char *[2]){text, NULL}, fill_color, full_redraw);
|
||||||
}
|
}
|
||||||
|
|
||||||
#define MAX_METADATA_STR 1024
|
#define MAX_METADATA_STR 1024
|
||||||
|
|||||||
@@ -2191,8 +2191,8 @@ void WM_window_screen_rect_calc(const wmWindow *win, rcti *r_rect)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
BLI_assert(screen_rect.xmin < screen_rect.xmax);
|
BLI_assert(BLI_rcti_is_valid(&screen_rect));
|
||||||
BLI_assert(screen_rect.ymin < screen_rect.ymax);
|
|
||||||
*r_rect = screen_rect;
|
*r_rect = screen_rect;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user