diff options
author | Brecht Van Lommel <brechtvanlommel@pandora.be> | 2013-07-10 05:05:56 +0400 |
---|---|---|
committer | Brecht Van Lommel <brechtvanlommel@pandora.be> | 2013-07-10 05:05:56 +0400 |
commit | 3f34a88fc821281079712effdc1608169cc37980 (patch) | |
tree | 188faff26cc1819f24d32031d3e08f6663e70006 /source/blender/editors/util/undo.c | |
parent | a3643ee3d67a823b328b60a0cf08b335be0e147c (diff) |
Fix #36075: editing shading nodes could still crash blender internal rendered
draw mode. This happens because it uses node data structures in threads, now
it does same as preview render, which is to immediately stop the render thread
when e.g. deleting nodes.
Diffstat (limited to 'source/blender/editors/util/undo.c')
-rw-r--r-- | source/blender/editors/util/undo.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/source/blender/editors/util/undo.c b/source/blender/editors/util/undo.c index 52f87c19dc8..e285fd8bea4 100644 --- a/source/blender/editors/util/undo.c +++ b/source/blender/editors/util/undo.c @@ -143,7 +143,7 @@ static int ed_undo_step(bContext *C, int step, const char *undoname) if ((obact && (obact->mode & OB_MODE_TEXTURE_PAINT)) || (sima->mode == SI_MODE_PAINT)) { if (!ED_undo_paint_step(C, UNDO_PAINT_IMAGE, step, undoname) && undoname) { if (U.uiflag & USER_GLOBALUNDO) { - ED_viewport_render_kill_jobs(C); + ED_viewport_render_kill_jobs(C, true); BKE_undo_name(C, undoname); } } @@ -196,7 +196,7 @@ static int ed_undo_step(bContext *C, int step, const char *undoname) /* for example, texface stores image pointers */ undo_editmode_clear(); - ED_viewport_render_kill_jobs(C); + ED_viewport_render_kill_jobs(C, true); if (undoname) BKE_undo_name(C, undoname); @@ -369,7 +369,7 @@ int ED_undo_operator_repeat(bContext *C, struct wmOperator *op) { int retval; - ED_viewport_render_kill_jobs(C); + ED_viewport_render_kill_jobs(C, true); if (G.debug & G_DEBUG) printf("redo_cb: operator redo %s\n", op->type->name); @@ -537,7 +537,7 @@ static int undo_history_exec(bContext *C, wmOperator *op) WM_event_add_notifier(C, NC_GEOM | ND_DATA, NULL); } else { - ED_viewport_render_kill_jobs(C); + ED_viewport_render_kill_jobs(C, true); BKE_undo_number(C, item); WM_event_add_notifier(C, NC_SCENE | ND_LAYER_CONTENT, CTX_data_scene(C)); } |