diff options
author | Ton Roosendaal <ton@blender.org> | 2011-03-10 20:34:27 +0300 |
---|---|---|
committer | Ton Roosendaal <ton@blender.org> | 2011-03-10 20:34:27 +0300 |
commit | 9a622f18ac5b8a58597fd2b02472d95cb6262c55 (patch) | |
tree | c23f6c49f9955c963efb8531efffab7d33d82775 /source/blender/editors/space_image | |
parent | a836390426e9e7f6fa323c0cd37b9bec45b0199f (diff) |
Bugfix #26424
More problems with Undo and Render Slots (Image editor)
- Undo storage for operator is now back, but only when new
buffers were added (not when viewing existing)
- A real bug: On undo/redo, the stored buffers were never
retrieved, but always freed entirely.
Note however that when you undo back to a state before you
rendered (or added slots), the render buffers that didn't
exist back then also get freed. A redo doesn't bring it back.
Diffstat (limited to 'source/blender/editors/space_image')
-rw-r--r-- | source/blender/editors/space_image/image_ops.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/source/blender/editors/space_image/image_ops.c b/source/blender/editors/space_image/image_ops.c index 34b0bffde8e..3990f0916b1 100644 --- a/source/blender/editors/space_image/image_ops.c +++ b/source/blender/editors/space_image/image_ops.c @@ -2133,6 +2133,10 @@ static int cycle_render_slot_exec(bContext *C, wmOperator *op) WM_event_add_notifier(C, NC_IMAGE|ND_DRAW, NULL); + /* no undo push for browsing existing */ + if(ima->renders[ima->render_slot]) + return OPERATOR_CANCELLED; + return OPERATOR_FINISHED; } @@ -2146,7 +2150,8 @@ void IMAGE_OT_cycle_render_slot(wmOperatorType *ot) ot->exec= cycle_render_slot_exec; ot->poll= cycle_render_slot_poll; - /* no registry or undo flags, this is a UI option */ + /* flags */ + ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO; RNA_def_boolean(ot->srna, "reverse", 0, "Cycle in Reverse", ""); } |