[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