Revision: 35689
          
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=35689
Author:   campbellbarton
Date:     2011-03-22 10:13:42 +0000 (Tue, 22 Mar 2011)
Log Message:
-----------
crash fix for Normalize All VGroups on a lattice without vgroups (probably 
other tools too - bug was in ED_vgroup_give_parray).

Also fix for crashes running operators in bg mode by using setting poll 
functions: WM_OT_search_menu, MESH_OT_extrude_repeat, SCREEN_OT_new

Modified Paths:
--------------
    trunk/blender/source/blender/editors/mesh/editmesh_tools.c
    trunk/blender/source/blender/editors/object/object_vgroup.c
    trunk/blender/source/blender/editors/screen/screen_ops.c
    trunk/blender/source/blender/windowmanager/intern/wm_operators.c

Modified: trunk/blender/source/blender/editors/mesh/editmesh_tools.c
===================================================================
--- trunk/blender/source/blender/editors/mesh/editmesh_tools.c  2011-03-22 
09:14:27 UTC (rev 35688)
+++ trunk/blender/source/blender/editors/mesh/editmesh_tools.c  2011-03-22 
10:13:42 UTC (rev 35689)
@@ -944,7 +944,7 @@
 
        /* api callbacks */
        ot->exec= extrude_repeat_mesh;
-       ot->poll= ED_operator_editmesh;
+       ot->poll= ED_operator_editmesh_region_view3d;
 
        /* flags */
        ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO;

Modified: trunk/blender/source/blender/editors/object/object_vgroup.c
===================================================================
--- trunk/blender/source/blender/editors/object/object_vgroup.c 2011-03-22 
09:14:27 UTC (rev 35688)
+++ trunk/blender/source/blender/editors/object/object_vgroup.c 2011-03-22 
10:13:42 UTC (rev 35689)
@@ -208,14 +208,19 @@
                                Lattice *lt= (Lattice *)id;
                                lt= (lt->editlatt)? lt->editlatt->latt: lt;
 
-                               *dvert_tot= lt->pntsu*lt->pntsv*lt->pntsw;
-                               *dvert_arr= 
MEM_mallocN(sizeof(void*)*(*dvert_tot), "vgroup parray from me");
+                               if(lt->dvert) {
+                                       *dvert_tot= 
lt->pntsu*lt->pntsv*lt->pntsw;
+                                       *dvert_arr= 
MEM_mallocN(sizeof(void*)*(*dvert_tot), "vgroup parray from me");
 
-                               for (i=0; i<*dvert_tot; i++) {
-                                       (*dvert_arr)[i] = lt->dvert + i;
+                                       for (i=0; i<*dvert_tot; i++) {
+                                               (*dvert_arr)[i] = lt->dvert + i;
+                                       }
+
+                                       return 1;
                                }
-
-                               return 1;
+                               else {
+                                       return 0;
+                               }
                        }
                }
        }

Modified: trunk/blender/source/blender/editors/screen/screen_ops.c
===================================================================
--- trunk/blender/source/blender/editors/screen/screen_ops.c    2011-03-22 
09:14:27 UTC (rev 35688)
+++ trunk/blender/source/blender/editors/screen/screen_ops.c    2011-03-22 
10:13:42 UTC (rev 35689)
@@ -3111,6 +3111,7 @@
        
        /* api callbacks */
        ot->exec= screen_new_exec;
+       ot->poll= WM_operator_winactive;
        
        /* flags */
        ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO;

Modified: trunk/blender/source/blender/windowmanager/intern/wm_operators.c
===================================================================
--- trunk/blender/source/blender/windowmanager/intern/wm_operators.c    
2011-03-22 09:14:27 UTC (rev 35688)
+++ trunk/blender/source/blender/windowmanager/intern/wm_operators.c    
2011-03-22 10:13:42 UTC (rev 35689)
@@ -1320,6 +1320,7 @@
        ot->idname= "WM_OT_call_menu";
 
        ot->exec= wm_call_menu_exec;
+       ot->poll= WM_operator_winactive;
 
        RNA_def_string(ot->srna, "name", "", BKE_ST_MAXNAME, "Name", "Name of 
the menu");
 }

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

Reply via email to