[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [28432] trunk/blender/source/blender: Fix #22086 and #22125: crashes due to editmode being set on load/undo, fixes

Brecht Van Lommel brecht at blender.org
Mon Apr 26 12:12:03 CEST 2010


Revision: 28432
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=28432
Author:   blendix
Date:     2010-04-26 12:12:03 +0200 (Mon, 26 Apr 2010)

Log Message:
-----------
Fix #22086 and #22125: crashes due to editmode being set on load/undo, fixes
are simple enough, though may still revert this feature if it turns out there
are more problems.

Modified Paths:
--------------
    trunk/blender/source/blender/blenloader/intern/readfile.c
    trunk/blender/source/blender/windowmanager/intern/wm_files.c

Modified: trunk/blender/source/blender/blenloader/intern/readfile.c
===================================================================
--- trunk/blender/source/blender/blenloader/intern/readfile.c	2010-04-26 10:02:30 UTC (rev 28431)
+++ trunk/blender/source/blender/blenloader/intern/readfile.c	2010-04-26 10:12:03 UTC (rev 28432)
@@ -3897,6 +3897,11 @@
 	
 	/* weak weak... this was only meant as draw flag, now is used in give_base too */
 	ob->flag &= ~OB_FROMGROUP;
+
+	/* loading saved files with editmode enabled works, but for undo we like
+	   to stay in object mode during undo presses so keep editmode disabled */
+	if(fd->memfile)
+		ob->mode &= ~(OB_MODE_EDIT|OB_MODE_PARTICLE_EDIT);
 	
 	ob->disp.first=ob->disp.last= NULL;
 	

Modified: trunk/blender/source/blender/windowmanager/intern/wm_files.c
===================================================================
--- trunk/blender/source/blender/windowmanager/intern/wm_files.c	2010-04-26 10:02:30 UTC (rev 28431)
+++ trunk/blender/source/blender/windowmanager/intern/wm_files.c	2010-04-26 10:12:03 UTC (rev 28432)
@@ -369,6 +369,8 @@
 //	undo_editmode_clear();
 	BKE_reset_undo();
 	BKE_write_undo(C, "original");	/* save current state */
+
+	ED_editors_init(C);
 	
 	WM_event_add_notifier(C, NC_WM|ND_FILEREAD, NULL);
 	CTX_wm_window_set(C, NULL); /* exits queues */





More information about the Bf-blender-cvs mailing list