Revision: 47660
          
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=47660
Author:   campbellbarton
Date:     2012-06-10 09:05:49 +0000 (Sun, 10 Jun 2012)
Log Message:
-----------
fix for un-initialized memory use for modal inset/bevel.

Modified Paths:
--------------
    trunk/blender/source/blender/editors/include/ED_transform.h
    trunk/blender/source/blender/editors/mesh/editmesh_tools.c
    trunk/blender/source/blender/editors/transform/transform.c

Modified: trunk/blender/source/blender/editors/include/ED_transform.h
===================================================================
--- trunk/blender/source/blender/editors/include/ED_transform.h 2012-06-10 
09:04:49 UTC (rev 47659)
+++ trunk/blender/source/blender/editors/include/ED_transform.h 2012-06-10 
09:05:49 UTC (rev 47660)
@@ -103,7 +103,7 @@
  * returns 1 if successful, 0 otherwise (usually means there's no selection)
  * (if 0 is returns, *vec is unmodified)
  * */
-int calculateTransformCenter(struct bContext *C, int centerMode, float 
*cent3d, int *cent2d);
+int calculateTransformCenter(struct bContext *C, int centerMode, float 
cent3d[3], int cent2d[2]);
 
 struct TransInfo;
 struct ScrArea;

Modified: trunk/blender/source/blender/editors/mesh/editmesh_tools.c
===================================================================
--- trunk/blender/source/blender/editors/mesh/editmesh_tools.c  2012-06-10 
09:04:49 UTC (rev 47659)
+++ trunk/blender/source/blender/editors/mesh/editmesh_tools.c  2012-06-10 
09:05:49 UTC (rev 47660)
@@ -4498,13 +4498,18 @@
        BevelData *opdata;
        float mlen[2];
 
-       if (!edbm_bevel_init(C, op, TRUE))
+       if (!edbm_bevel_init(C, op, TRUE)) {
                return OPERATOR_CANCELLED;
+       }
 
-       /* initialize mouse values */
        opdata = op->customdata;
 
-       calculateTransformCenter(C, V3D_CENTROID, NULL, opdata->mcenter);
+       /* initialize mouse values */
+       if (!calculateTransformCenter(C, V3D_CENTROID, NULL, opdata->mcenter)) {
+               /* in this case the tool will likely do nothing,
+                * ideally this will never happen and should be checked for 
above */
+               opdata->mcenter[0] = opdata->mcenter[1] = 0;
+       }
        mlen[0] = opdata->mcenter[0] - event->mval[0];
        mlen[1] = opdata->mcenter[1] - event->mval[1];
        opdata->initial_length = len_v2(mlen);
@@ -4795,8 +4800,12 @@
 
        opdata = op->customdata;
 
-       calculateTransformCenter(C, V3D_CENTROID, NULL, opdata->mcenter);
        /* initialize mouse values */
+       if (!calculateTransformCenter(C, V3D_CENTROID, NULL, opdata->mcenter)) {
+               /* in this case the tool will likely do nothing,
+                * ideally this will never happen and should be checked for 
above */
+               opdata->mcenter[0] = opdata->mcenter[1] = 0;
+       }
        mlen[0] = opdata->mcenter[0] - event->mval[0];
        mlen[1] = opdata->mcenter[1] - event->mval[1];
        opdata->initial_length = len_v2(mlen);

Modified: trunk/blender/source/blender/editors/transform/transform.c
===================================================================
--- trunk/blender/source/blender/editors/transform/transform.c  2012-06-10 
09:04:49 UTC (rev 47659)
+++ trunk/blender/source/blender/editors/transform/transform.c  2012-06-10 
09:05:49 UTC (rev 47660)
@@ -1178,10 +1178,10 @@
                return OPERATOR_PASS_THROUGH;
 }
 
-int calculateTransformCenter(bContext *C, int centerMode, float *cent3d, int 
*cent2d)
+int calculateTransformCenter(bContext *C, int centerMode, float cent3d[3], int 
cent2d[2])
 {
        TransInfo *t = MEM_callocN(sizeof(TransInfo), "TransInfo data");
-       int success = 1;
+       int success;
 
        t->state = TRANS_RUNNING;
 
@@ -1196,10 +1196,10 @@
        t->around = centerMode;                         // override userdefined 
mode
 
        if (t->total == 0) {
-               success = 0;
+               success = FALSE;
        }
        else {
-               success = 1;
+               success = TRUE;
 
                calculateCenter(t);
 

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

Reply via email to