[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [57786] branches/soc-2013-bge/source/ blender: Removing a level of detail now causes the view to update.

Daniel Stokes kupomail at gmail.com
Wed Jun 26 22:48:50 CEST 2013


Revision: 57786
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=57786
Author:   kupoman
Date:     2013-06-26 20:48:49 +0000 (Wed, 26 Jun 2013)
Log Message:
-----------
Removing a level of detail now causes the view to update. Also making sure to free the removed level of detail now.

Modified Paths:
--------------
    branches/soc-2013-bge/source/blender/blenkernel/intern/object.c
    branches/soc-2013-bge/source/blender/editors/object/object_lod.c
    branches/soc-2013-bge/source/blender/editors/space_view3d/space_view3d.c
    branches/soc-2013-bge/source/blender/windowmanager/WM_types.h

Modified: branches/soc-2013-bge/source/blender/blenkernel/intern/object.c
===================================================================
--- branches/soc-2013-bge/source/blender/blenkernel/intern/object.c	2013-06-26 20:28:12 UTC (rev 57785)
+++ branches/soc-2013-bge/source/blender/blenkernel/intern/object.c	2013-06-26 20:48:49 UTC (rev 57786)
@@ -956,7 +956,13 @@
 		return;
 
 	rem = BLI_findlink(&ob->lodlevels, level);
+
+	if (rem == ob->currentlod) {
+		ob->currentlod = rem->prev;
+	}
+
 	BLI_remlink(&ob->lodlevels, rem);
+	MEM_freeN(rem);
 }
 
 static LodLevel* lod_level_select(struct Object *ob, float cam_loc[3])

Modified: branches/soc-2013-bge/source/blender/editors/object/object_lod.c
===================================================================
--- branches/soc-2013-bge/source/blender/editors/object/object_lod.c	2013-06-26 20:28:12 UTC (rev 57785)
+++ branches/soc-2013-bge/source/blender/editors/object/object_lod.c	2013-06-26 20:48:49 UTC (rev 57786)
@@ -33,6 +33,7 @@
 #include "DNA_object_types.h"
 
 #include "BKE_context.h"
+#include "BKE_main.h"
 #include "BKE_object.h"
 
 #include "ED_screen.h"
@@ -76,6 +77,8 @@
 	Object *ob = ED_object_context(C);
 	int index = RNA_int_get(op->ptr, "index");
 	BKE_object_lod_remove(ob, index);
+
+	WM_event_add_notifier(C, NC_LOD, CTX_wm_view3d(C));
 	return OPERATOR_FINISHED;
 }
 

Modified: branches/soc-2013-bge/source/blender/editors/space_view3d/space_view3d.c
===================================================================
--- branches/soc-2013-bge/source/blender/editors/space_view3d/space_view3d.c	2013-06-26 20:28:12 UTC (rev 57785)
+++ branches/soc-2013-bge/source/blender/editors/space_view3d/space_view3d.c	2013-06-26 20:48:49 UTC (rev 57786)
@@ -877,6 +877,10 @@
 			if (wmn->action == NA_EDITED)
 				ED_region_tag_redraw(ar);
 			break;
+		case NC_LOD:
+			/* all lod ops for now */
+			ED_region_tag_redraw(ar);
+			break;
 	}
 }
 

Modified: branches/soc-2013-bge/source/blender/windowmanager/WM_types.h
===================================================================
--- branches/soc-2013-bge/source/blender/windowmanager/WM_types.h	2013-06-26 20:28:12 UTC (rev 57785)
+++ branches/soc-2013-bge/source/blender/windowmanager/WM_types.h	2013-06-26 20:48:49 UTC (rev 57786)
@@ -240,6 +240,7 @@
 #define NC_MASK				(21<<24)
 #define NC_GPENCIL			(22<<24)
 #define NC_LINESTYLE			(23<<24)
+#define NC_LOD				(24<<24)
 
 /* data type, 256 entries is enough, it can overlap */
 #define NOTE_DATA			0x00FF0000




More information about the Bf-blender-cvs mailing list