blender/release/scripts
Sergey Sharybin a68ceb0af8 Option to lock the interface while rendering
Added function called WM_set_locked_interface which does
two things:

- Prevents event queue from being handled, so no operators
  (see below) or values are even possible to run or change.
  This prevents any kind of "destructive" action performed
  from user while rendering.

- Locks interface refresh for regions which does have lock
  set to truth in their template. Currently it's just a 3D
  viewport, but in the future more regions could be considered
  unsafe, or we could want to lock different parts of
  interface when doing different jobs.

  This is needed because 3D viewport could be using or changing
  the same data as renderer currently uses, leading to threading
  conflict.

  Notifiers are still allowed to handle, so render progress is
  seen on the screen, but would need to doublecheck on this, in
  terms some notifiers could be changing the data.

  For now interface locking happens for render job only in case
  "Lock Interface" checkbox is enabled.

  Other tools like backing would also benefit of this option.

  It is possible to mark operator as safe to be used in locked
  interface mode by adding OPTYPE_ALLOW_LOCKED bit to operator
  template flags.

  This bit is completely handled by wm_evem_system, not
  with operator run routines, so it's still possible to
  run operators from drivers and handlers.

  Currently allowed image editor navigation and zooming.

Reviewers: brecht, campbellbarton

Reviewed By: campbellbarton

Differential Revision: https://developer.blender.org/D142
2014-01-29 16:07:14 +06:00
..
addons@c50944e808 Cycles Volume Render: work on nodes and closures. 2013-12-28 16:57:02 +01:00
addons_contrib@31545d25c9 Cycles Volume Render: work on nodes and closures. 2013-12-28 16:57:02 +01:00
freestyle Code cleanup: pep8 2014-01-29 02:20:59 +11:00
modules UI: Fix for icon-only menus too small click-able area 2014-01-27 19:11:37 +11:00
presets Theme: update ubuntu and blender2.4x tab colors 2014-01-28 21:48:01 +11:00
startup Option to lock the interface while rendering 2014-01-29 16:07:14 +06:00
templates_osl Code Cleanup: osl style 2014-01-06 13:58:33 +11:00
templates_py Fix T38008: Bug in templates operator_nodes.py 2014-01-01 12:02:43 +01:00