Bugfix #25652
authorTon Roosendaal <ton@blender.org>
Wed, 19 Jan 2011 14:19:20 +0000 (14:19 +0000)
committerTon Roosendaal <ton@blender.org>
Wed, 19 Jan 2011 14:19:20 +0000 (14:19 +0000)
commitf49d7d59dc0a83e074e9202a54c22f3c056aa5a6
treec8fd6497130413a182bec254cf3d142e670f0ecc
parent450288999c74cbef4678e804bbb28d7ebf5752fb
Bugfix #25652

Report was that move-to-layer menu failed. The real cause was
more complex; had to dive deep in the dungeons of the interface
code that handled undos and operators. Found several issues:

- popup menus (like redo operator, color picker) executed again
  on a mouse-exit
- far too many buttons were sending undo pushes; even worse, in
  the operator redo-panel each button action was pushed twice
- in case operator redo-buttons have own callbacks (like layer
  buttons) the redo wasn't working
- layerbutton menu was called without creating a proper undo/redo
  case

Things should all work smoother now!

On todo:
- better definition and handling of all versions for operator menus
  (four types now, not fun)
  also: make operator "do" menu, which on first action does operator
  and then switches to redo-ing
- bring back Undo menu, to list the undo stack and jump in it.
source/blender/editors/include/UI_interface.h
source/blender/editors/interface/interface.c
source/blender/editors/interface/interface_handlers.c
source/blender/editors/interface/interface_layout.c
source/blender/editors/interface/interface_regions.c
source/blender/editors/space_view3d/view3d_toolbar.c
source/blender/windowmanager/intern/wm_operators.c