[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [20010] branches/blender2.5/blender/source /blender: 2.5

Ton Roosendaal ton at blender.org
Thu Apr 30 18:44:00 CEST 2009


Revision: 20010
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=20010
Author:   ton
Date:     2009-04-30 18:44:00 +0200 (Thu, 30 Apr 2009)

Log Message:
-----------
2.5

Two fixes:

- objects in editmode now update data on saving .blend
- uifonts and uistyles were not freed yet on reading files
  yet.

Modified Paths:
--------------
    branches/blender2.5/blender/source/blender/blenkernel/BKE_blender.h
    branches/blender2.5/blender/source/blender/blenkernel/intern/blender.c
    branches/blender2.5/blender/source/blender/editors/interface/interface.c
    branches/blender2.5/blender/source/blender/editors/interface/interface_intern.h
    branches/blender2.5/blender/source/blender/editors/interface/interface_style.c
    branches/blender2.5/blender/source/blender/editors/object/object_edit.c
    branches/blender2.5/blender/source/blender/windowmanager/intern/wm_files.c
    branches/blender2.5/blender/source/blender/windowmanager/intern/wm_init_exit.c

Modified: branches/blender2.5/blender/source/blender/blenkernel/BKE_blender.h
===================================================================
--- branches/blender2.5/blender/source/blender/blenkernel/BKE_blender.h	2009-04-30 15:27:38 UTC (rev 20009)
+++ branches/blender2.5/blender/source/blender/blenkernel/BKE_blender.h	2009-04-30 16:44:00 UTC (rev 20010)
@@ -55,6 +55,9 @@
 void free_blender(void);
 void initglobals(void);
 
+/* load new userdef from file, exit blender */
+void BKE_userdef_free(void);
+
 /* set this callback when a UI is running */
 void set_blender_test_break_cb(void (*func)(void) );
 int blender_test_break(void);

Modified: branches/blender2.5/blender/source/blender/blenkernel/intern/blender.c
===================================================================
--- branches/blender2.5/blender/source/blender/blenkernel/intern/blender.c	2009-04-30 15:27:38 UTC (rev 20009)
+++ branches/blender2.5/blender/source/blender/blenkernel/intern/blender.c	2009-04-30 16:44:00 UTC (rev 20010)
@@ -325,8 +325,8 @@
 	if (bfd->user) {
 		
 		/* only here free userdef themes... */
-		BLI_freelistN(&U.themes);
-
+		BKE_userdef_free();
+		
 		U= *bfd->user;
 		MEM_freeN(bfd->user);
 	}
@@ -414,6 +414,15 @@
 		
 }
 
+void BKE_userdef_free(void)
+{
+	
+	BLI_freelistN(&U.uistyles);
+	BLI_freelistN(&U.uifonts);
+	BLI_freelistN(&U.themes);
+	
+}
+
 /* returns:
    0: no load file
    1: OK

Modified: branches/blender2.5/blender/source/blender/editors/interface/interface.c
===================================================================
--- branches/blender2.5/blender/source/blender/editors/interface/interface.c	2009-04-30 15:27:38 UTC (rev 20009)
+++ branches/blender2.5/blender/source/blender/editors/interface/interface.c	2009-04-30 16:44:00 UTC (rev 20010)
@@ -3059,7 +3059,6 @@
 
 void UI_exit(void)
 {
-	uiStyleExit();
 	ui_resources_free();
 }
 

Modified: branches/blender2.5/blender/source/blender/editors/interface/interface_intern.h
===================================================================
--- branches/blender2.5/blender/source/blender/editors/interface/interface_intern.h	2009-04-30 15:27:38 UTC (rev 20009)
+++ branches/blender2.5/blender/source/blender/editors/interface/interface_intern.h	2009-04-30 16:44:00 UTC (rev 20010)
@@ -382,7 +382,6 @@
 
 /* interface_style.c */
 void uiStyleInit(void);
-void uiStyleExit(void);
 
 /* resources.c */
 void init_userdef_do_versions(void);

Modified: branches/blender2.5/blender/source/blender/editors/interface/interface_style.c
===================================================================
--- branches/blender2.5/blender/source/blender/editors/interface/interface_style.c	2009-04-30 15:27:38 UTC (rev 20009)
+++ branches/blender2.5/blender/source/blender/editors/interface/interface_style.c	2009-04-30 16:44:00 UTC (rev 20010)
@@ -264,14 +264,6 @@
 	}
 }
 
-
-void uiStyleExit(void)
-{
-	BLI_freelistN(&U.uifonts);
-	BLI_freelistN(&U.uistyles);
-	
-}
-
 void uiStyleFontSet(uiFontStyle *fs)
 {
 	uiFont *font= uifont_to_blfont(fs->uifont_id);

Modified: branches/blender2.5/blender/source/blender/editors/object/object_edit.c
===================================================================
--- branches/blender2.5/blender/source/blender/editors/object/object_edit.c	2009-04-30 15:27:38 UTC (rev 20009)
+++ branches/blender2.5/blender/source/blender/editors/object/object_edit.c	2009-04-30 16:44:00 UTC (rev 20010)
@@ -3204,7 +3204,6 @@
 {
 	Scene *scene= CTX_data_scene(C);
 	Object *obedit= CTX_data_edit_object(C);
-	Object *ob;
 	int freedata = flag & EM_FREEDATA;
 	
 	if(obedit==NULL) return;
@@ -3252,22 +3251,20 @@
 //		if(freedata) BLI_freelistN(&editelems);
 	}
 	
-	ob= obedit;
+	/* freedata only 0 now on file saves */
+	if(freedata) {
+		/* for example; displist make is different in editmode */
+		scene->obedit= NULL; // XXX for context
+		
+		/* also flush ob recalc, doesn't take much overhead, but used for particles */
+		DAG_object_flush_update(scene, obedit, OB_RECALC_OB|OB_RECALC_DATA);
 	
-	/* for example; displist make is different in editmode */
-	if(freedata) obedit= NULL;
-	scene->obedit= obedit; // XXX for context
-	
-	/* also flush ob recalc, doesn't take much overhead, but used for particles */
-	DAG_object_flush_update(scene, ob, OB_RECALC_OB|OB_RECALC_DATA);
-	
-	if(obedit==NULL) // XXX && (flag & EM_FREEUNDO)) 
 		ED_undo_push(C, "Editmode");
 	
-	if(flag & EM_WAITCURSOR) waitcursor(0);
+		if(flag & EM_WAITCURSOR) waitcursor(0);
 	
-	WM_event_add_notifier(C, NC_SCENE|ND_MODE|NS_MODE_OBJECT, scene);
-
+		WM_event_add_notifier(C, NC_SCENE|ND_MODE|NS_MODE_OBJECT, scene);
+	}
 }
 
 

Modified: branches/blender2.5/blender/source/blender/windowmanager/intern/wm_files.c
===================================================================
--- branches/blender2.5/blender/source/blender/windowmanager/intern/wm_files.c	2009-04-30 15:27:38 UTC (rev 20009)
+++ branches/blender2.5/blender/source/blender/windowmanager/intern/wm_files.c	2009-04-30 16:44:00 UTC (rev 20010)
@@ -78,6 +78,7 @@
 #include "RNA_define.h"
 
 #include "ED_datafiles.h"
+#include "ED_object.h"
 #include "ED_screen.h"
 #include "ED_util.h"
 
@@ -569,16 +570,16 @@
 		strcpy(di, target);
 	}
 
-	if (BLI_exists(di)) {
+//	if (BLI_exists(di)) {
 // XXX		if(!saveover(di))
 // XXX			return; 
-	}
+//	}
 	
 	if (G.fileflags & G_AUTOPACK) {
 		packAll();
 	}
 	
-// XXX	waitcursor(1);	// exit_editmode sets cursor too
+	ED_object_exit_editmode(C, 0);
 
 	do_history(di, reports);
 	

Modified: branches/blender2.5/blender/source/blender/windowmanager/intern/wm_init_exit.c
===================================================================
--- branches/blender2.5/blender/source/blender/windowmanager/intern/wm_init_exit.c	2009-04-30 15:27:38 UTC (rev 20009)
+++ branches/blender2.5/blender/source/blender/windowmanager/intern/wm_init_exit.c	2009-04-30 16:44:00 UTC (rev 20010)
@@ -264,7 +264,7 @@
 	ED_file_exit(); /* for fsmenu */
 
 	UI_exit();
-	BLI_freelistN(&U.themes);
+	BKE_userdef_free();
 
 	RNA_exit();
 	





More information about the Bf-blender-cvs mailing list