Assert when changing interface display scale
Closed, ResolvedPublic

Description

Blender Version
Broken: rB5f6c45498c9
Worked: rB5f6c45498c9^

Short description of error
Blender crashes when I change UI scale to 4.0.

Exact steps for others to reproduce the error

  • Factory startup
  • User Preferences (Ctrl+Alt+U)
  • Interface > Display > 4.0
BLI_assert failed: /home/dfelinto/src/blender/blender/source/blender/editors/screen/area.c:1433, area_calc_totrct(), at 'sa->totrct.ymin >= 0'

Full backtrace: P663

Dalai Felinto (dfelinto) moved this task from Backlog to General Bugs on the BF Blender: 2.8 board.
Dalai Felinto (dfelinto) triaged this task as Confirmed priority.

@Julian Eisel (Severin) this bug was introduced (or exposed?) in the top-bar merge. Could you take a look at it?

In what I believe is a related note, if you use the following startup and userpref files you don't get a crash, however this is how the topbar action zones look like until you make them redraw in some way:

The issue has to do with screen_vertices_scale. In this function we are setting sv->vec.y to a negative number for the lower edge.

Hmm, I'd say screen-verts must never have a negative coordinate, if so there's probably a bug. So the assert seems to be right. Would still have to check details though.

The thing is, top-bar commit introduced asserts in area_calc_totrct() that would fail even for master. Which although correct, led to a very unstable 2.8.
My proposal is the following "fix" P670 (basically removing the asserts).