Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCampbell Barton <ideasman42@gmail.com>2018-01-11 05:20:08 +0300
committerCampbell Barton <ideasman42@gmail.com>2018-01-11 05:23:55 +0300
commit9d62e6e782addd16323bd95ed70f86fcb077fd84 (patch)
tree951538475c5b0be91d5b06e1acbd4863b6793480 /source/blender
parent25b794a39d8cff87b6df2338d020e8d4ba90eeef (diff)
UI: don't draw outline when it's not calculated
Outline drawing was running even when there were no verts to draw. Causes an assert in 2.8.
Diffstat (limited to 'source/blender')
-rw-r--r--source/blender/editors/interface/interface_widgets.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/source/blender/editors/interface/interface_widgets.c b/source/blender/editors/interface/interface_widgets.c
index 39ee8e2885d..b25e1130c60 100644
--- a/source/blender/editors/interface/interface_widgets.c
+++ b/source/blender/editors/interface/interface_widgets.c
@@ -685,6 +685,7 @@ static void widgetbase_draw(uiWidgetBase *wtb, uiWidgetColors *wcol)
/* backdrop non AA */
if (wtb->draw_inner) {
+ BLI_assert(wtb->totvert != 0);
if (wcol->shaded == 0) {
if (wcol->alpha_check) {
float inner_v_half[WIDGET_SIZE_MAX][2];
@@ -764,6 +765,7 @@ static void widgetbase_draw(uiWidgetBase *wtb, uiWidgetColors *wcol)
/* for each AA step */
if (wtb->draw_outline) {
+ BLI_assert(wtb->totvert != 0);
float triangle_strip[WIDGET_SIZE_MAX * 2 + 2][2]; /* + 2 because the last pair is wrapped */
float triangle_strip_emboss[WIDGET_SIZE_MAX * 2][2]; /* only for emboss */
@@ -2680,6 +2682,10 @@ static void widget_numbut_draw(uiWidgetColors *wcol, rcti *rect, int state, int
if (!emboss) {
round_box_edges(&wtb, roundboxalign, rect, rad);
}
+ else {
+ wtb.draw_inner = false;
+ wtb.draw_outline = false;
+ }
/* decoration */
if (!(state & UI_STATE_TEXT_INPUT)) {