Two small fixes;
authorTon Roosendaal <ton@blender.org>
Fri, 3 Dec 2004 23:22:21 +0000 (23:22 +0000)
committerTon Roosendaal <ton@blender.org>
Fri, 3 Dec 2004 23:22:21 +0000 (23:22 +0000)
- on exit editmode, displist for subsurf was not made, causing static
  particles to calculate wrong
- static particles were not selectable

source/blender/src/drawobject.c
source/blender/src/editmesh.c

index 05727114cef900778a0260a6005b0868ca11e576..e9327f06a47b2744e16f39d48e3bac96c4acf1c8 100644 (file)
@@ -4243,12 +4243,12 @@ void draw_object(Base *base)
                        else drawDispList(ob, dt);
                }
                
-               if( (ob!=G.obedit) && ((G.f & (G_PICKSEL)) == 0) ) {
+               if( ob!=G.obedit) {
                        paf = give_parteff(ob);
                        if( paf ) {
                                if(col) cpack(0xFFFFFF);        /* for visibility */
                                if(paf->flag & PAF_STATIC) draw_static_particle_system(ob, paf);
-                               else draw_particle_system(ob, paf);
+                               else if((G.f & G_PICKSEL) == 0) draw_particle_system(ob, paf);  // selection errors happen to easy
                                if(col) cpack(col);
                        }
                }
index 4d6502157ec30d6895fe55c6841b357ddb206e52..d3277edafe2c9d636a58b02cf859f95abc3cee72 100644 (file)
@@ -1238,9 +1238,8 @@ void load_editMesh(void)
                eve= eve->next;
        }
 
-       /* displists of all users, including this one */
-       freedisplist(&me->disp);
-       freedisplist(&G.obedit->disp);
+       /* we do make displist here for dependencies (like particles) */
+       if (mesh_uses_displist(me)) makeDispList(G.obedit);
        
        /* sticky */
        if(me->msticky) {