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

_______________________________________________
Bf-blender-cvs mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to