[Bf-blender-cvs] [5dbd47c7e93] temp-workspace-object-mode-removal: Merge branch '28' into temp-workspace-object-mode-removal

Campbell Barton noreply at git.blender.org
Mon Feb 5 08:09:51 CET 2018


Commit: 5dbd47c7e93a8bedc22472988ef12b11f786b008
Author: Campbell Barton
Date:   Mon Feb 5 18:12:11 2018 +1100
Branches: temp-workspace-object-mode-removal
https://developer.blender.org/rB5dbd47c7e93a8bedc22472988ef12b11f786b008

Merge branch '28' into temp-workspace-object-mode-removal

===================================================================



===================================================================

diff --cc source/blender/editors/util/ed_util.c
index 61c613221b1,8973c96c438..bbf5f2064fd
--- a/source/blender/editors/util/ed_util.c
+++ b/source/blender/editors/util/ed_util.c
@@@ -181,22 -174,26 +181,26 @@@ bool ED_editors_flush_edits(const bCont
  	 * exiting we might not have a context for edit object and multiple sculpt
  	 * objects can exist at the same time */
  	for (ob = bmain->object.first; ob; ob = ob->id.next) {
 -		if (ob->mode & OB_MODE_SCULPT) {
 +		if (eval_ctx.object_mode & OB_MODE_SCULPT) {
- 			/* flush multires changes (for sculpt) */
- 			multires_force_update(ob);
- 			has_edited = true;
- 
- 			if (for_render) {
- 				/* flush changes from dynamic topology sculpt */
- 				BKE_sculptsession_bm_to_me_for_render(ob);
- 			}
- 			else {
- 				/* Set reorder=false so that saving the file doesn't reorder
- 				 * the BMesh's elements */
- 				BKE_sculptsession_bm_to_me(ob, false);
+ 			/* Don't allow flushing while in the middle of a stroke (frees data in use).
+ 			 * Auto-save prevents this from happening but scripts may cause a flush on saving: T53986. */
+ 			if ((ob->sculpt && ob->sculpt->cache) == 0) {
+ 				/* flush multires changes (for sculpt) */
+ 				multires_force_update(ob);
+ 				has_edited = true;
+ 
+ 				if (for_render) {
+ 					/* flush changes from dynamic topology sculpt */
+ 					BKE_sculptsession_bm_to_me_for_render(ob);
+ 				}
+ 				else {
+ 					/* Set reorder=false so that saving the file doesn't reorder
+ 					 * the BMesh's elements */
+ 					BKE_sculptsession_bm_to_me(ob, false);
+ 				}
  			}
  		}
 -		else if (ob->mode & OB_MODE_EDIT) {
 +		else if (eval_ctx.object_mode & OB_MODE_EDIT) {
  			/* get editmode results */
  			has_edited = true;
  			ED_object_editmode_load(ob);



More information about the Bf-blender-cvs mailing list