Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrecht Van Lommel <brechtvanlommel@pandora.be>2013-07-10 05:05:56 +0400
committerBrecht Van Lommel <brechtvanlommel@pandora.be>2013-07-10 05:05:56 +0400
commit3f34a88fc821281079712effdc1608169cc37980 (patch)
tree188faff26cc1819f24d32031d3e08f6663e70006 /source/blender/editors/util/undo.c
parenta3643ee3d67a823b328b60a0cf08b335be0e147c (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.c8
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));
}