Page MenuHome

WM: refresh window data & depsgraph before handling events
AcceptedPublic

Authored by Campbell Barton (campbellbarton) on Aug 25 2017, 8:11 AM.

Details

Summary

Recently I ran into 2 bugs caused by handling events before drawing (rB9662803833264668322b5ce10f28c852340d6445 & rB1b5a690c721e257f4d2b6b0df3ad87c011af121e).

In the 2.8x branch I've found a 3rd, (an assert caused by the depsgraph not having run before running an operator.)
Click around as Blender2.8x starts up to trigger the assert.

In this case, I don't think its worth to try and workaround missing depsgraph updates, so this patch splits out the part of wm_event_do_notifiers that refreshes windows and updates the depsgraph and runs it before entering the main-loop (which handles events).

Think its safe but posting the diff since it touches the mainloop and order of depsgraph execution on startup.

Diff Detail

Repository
rB Blender
Branch
TEMP-MAIN-PRE-REFRESH
Build Status
Buildable 777
Build 777: arc lint + arc unit