initialize structs to zero rather then using memset().
authorCampbell Barton <ideasman42@gmail.com>
Sun, 31 Oct 2010 15:39:37 +0000 (15:39 +0000)
committerCampbell Barton <ideasman42@gmail.com>
Sun, 31 Oct 2010 15:39:37 +0000 (15:39 +0000)
32 files changed:
source/blender/blenkernel/intern/action.c
source/blender/blenkernel/intern/brush.c
source/blender/blenkernel/intern/constraint.c
source/blender/blenkernel/intern/context.c
source/blender/blenkernel/intern/multires.c
source/blender/blenkernel/intern/seqeffects.c
source/blender/blenkernel/intern/sequencer.c
source/blender/blenkernel/intern/shrinkwrap.c
source/blender/blenkernel/intern/subsurf_ccg.c
source/blender/blenloader/intern/readfile.c
source/blender/editors/animation/anim_draw.c
source/blender/editors/animation/drivers.c
source/blender/editors/animation/keyframing.c
source/blender/editors/animation/keyingsets.c
source/blender/editors/armature/poselib.c
source/blender/editors/armature/poseobject.c
source/blender/editors/object/object_bake.c
source/blender/editors/space_action/action_edit.c
source/blender/editors/space_action/action_select.c
source/blender/editors/space_graph/graph_select.c
source/blender/editors/space_info/info_stats.c
source/blender/editors/space_nla/nla_edit.c
source/blender/editors/space_node/node_draw.c
source/blender/editors/space_time/space_time.c
source/blender/editors/space_view3d/view3d_draw.c
source/blender/editors/space_view3d/view3d_view.c
source/blender/editors/transform/transform.c
source/blender/editors/transform/transform_generics.c
source/blender/gpu/intern/gpu_material.c
source/blender/makesrna/intern/rna_access.c
source/blender/render/intern/source/volume_precache.c
source/blender/windowmanager/intern/wm_cursors.c

index 5a96575..9028071 100644 (file)
@@ -1134,10 +1134,9 @@ void what_does_obaction (Scene *UNUSED(scene), Object *ob, Object *workob, bPose
                animsys_evaluate_action_group(&id_ptr, act, agrp, NULL, cframe);
        }
        else {
-               AnimData adt;
+               AnimData adt= {0};
                
                /* init animdata, and attach to workob */
-               memset(&adt, 0, sizeof(AnimData));
                workob->adt= &adt;
                
                adt.recalc= ADT_RECALC_ANIM;
index d894aef..7a10f90 100644 (file)
@@ -228,10 +228,8 @@ void make_local_brush(Brush *brush)
 
 void brush_debug_print_state(Brush *br)
 {
-       Brush def;
-
        /* create a fake brush and set it to the defaults */
-       memset(&def, 0, sizeof(Brush));
+       Brush def= {{0}};
        brush_set_defaults(&def);
        
 #define BR_TEST(field, t)                                      \
@@ -1098,11 +1096,9 @@ unsigned int *brush_gen_texture_cache(Brush *br, int half_side)
 {
        unsigned int *texcache = NULL;
        MTex *mtex = &br->mtex;
-       TexResult texres;
+       TexResult texres= {0};
        int hasrgb, ix, iy;
        int side = half_side * 2;
-
-       memset(&texres, 0, sizeof(TexResult));
        
        if(mtex->tex) {
                float x, y, step = 2.0 / side, co[3];
index 5f38750..bf69473 100644 (file)
@@ -3427,8 +3427,7 @@ static void shrinkwrap_get_tarmat (bConstraint *con, bConstraintOb *cob, bConstr
                BVHTreeRayHit hit;
                BVHTreeNearest nearest;
                
-               BVHTreeFromMesh treeData;
-               memset(&treeData, 0, sizeof(treeData));
+               BVHTreeFromMesh treeData= {0};
                
                nearest.index = -1;
                nearest.dist = FLT_MAX;
index e1a7ef7..899ae60 100644 (file)
@@ -554,8 +554,7 @@ ListBase CTX_data_collection_get(const bContext *C, const char *member)
                return result.list;
        }
        else {
-               ListBase list;
-               memset(&list, 0, sizeof(list));
+               ListBase list= {NULL, NULL};
                return list;
        }
 }
index b6e48a1..5324d5d 100644 (file)
@@ -492,9 +492,8 @@ void multiresModifier_del_levels(MultiresModifierData *mmd, Object *ob, int dire
 
 static DerivedMesh *multires_dm_create_local(Object *ob, DerivedMesh *dm, int lvl, int totlvl, int simple)
 {
-       MultiresModifierData mmd;
+       MultiresModifierData mmd= {{0}};
 
-       memset(&mmd, 0, sizeof(MultiresModifierData));
        mmd.lvl = lvl;
        mmd.sculptlvl = lvl;
        mmd.renderlvl = lvl;
@@ -506,9 +505,8 @@ static DerivedMesh *multires_dm_create_local(Object *ob, DerivedMesh *dm, int lv
 
 static DerivedMesh *subsurf_dm_create_local(Object *UNUSED(ob), DerivedMesh *dm, int lvl, int simple, int optimal)
 {
-       SubsurfModifierData smd;
+       SubsurfModifierData smd= {{0}};
 
-       memset(&smd, 0, sizeof(SubsurfModifierData));
        smd.levels = smd.renderLevels = lvl;
        smd.flags |= eSubsurfModifierFlag_SubsurfUv;
        if(simple)
index 66cad50..b8307a9 100644 (file)
@@ -3260,9 +3260,7 @@ static struct SeqEffectHandle get_sequence_effect_impl(int seq_type)
 
 struct SeqEffectHandle get_sequence_effect(Sequence * seq)
 {
-       struct SeqEffectHandle rval;
-
-       memset(&rval, 0, sizeof(struct SeqEffectHandle));
+       struct SeqEffectHandle rval= {0};
 
        if (seq->type & SEQ_EFFECT) {
                rval = get_sequence_effect_impl(seq->type);
@@ -3277,9 +3275,7 @@ struct SeqEffectHandle get_sequence_effect(Sequence * seq)
 
 struct SeqEffectHandle get_sequence_blend(Sequence * seq)
 {
-       struct SeqEffectHandle rval;
-
-       memset(&rval, 0, sizeof(struct SeqEffectHandle));
+       struct SeqEffectHandle rval= {0};
 
        if (seq->blend_mode != 0) {
                rval = get_sequence_effect_impl(seq->blend_mode);
index c379ca4..0207340 100644 (file)
@@ -1474,13 +1474,10 @@ static ImBuf * input_preprocess(
        }
 
        if(seq->flag & (SEQ_USE_CROP|SEQ_USE_TRANSFORM)) {
-               StripCrop c;
-               StripTransform t;
+               StripCrop c= {0};
+               StripTransform t= {0};
                int sx,sy,dx,dy;
 
-               memset(&c, 0, sizeof(StripCrop));
-               memset(&t, 0, sizeof(StripTransform));
-
                if(seq->flag & SEQ_USE_CROP && seq->strip->crop) {
                        c = *seq->strip->crop;
                }
index f64854f..4746341 100644 (file)
@@ -559,8 +559,7 @@ void shrinkwrapModifier_deform(ShrinkwrapModifierData *smd, Scene *scene, Object
                //Using vertexs positions/normals as if a subsurface was applied 
                if(smd->subsurfLevels)
                {
-                       SubsurfModifierData ssmd;
-                       memset(&ssmd, 0, sizeof(ssmd));
+                       SubsurfModifierData ssmd= {{0}};
                        ssmd.subdivType = ME_CC_SUBSURF;                //catmull clark
                        ssmd.levels             = smd->subsurfLevels;   //levels
 
index 26bd981..56491b8 100644 (file)
@@ -1357,7 +1357,7 @@ static void ccgDM_drawMappedFacesGLSL(DerivedMesh *dm, int (*setMaterial)(int, v
        CCGSubSurf *ss = ccgdm->ss;
        CCGFaceIterator *fi = ccgSubSurf_getFaceIterator(ss);
        GPUVertexAttribs gattribs;
-       DMVertexAttribs attribs;
+       DMVertexAttribs attribs= {{{0}}};
        MTFace *tf = dm->getFaceDataArray(dm, CD_MTFACE);
        int gridSize = ccgSubSurf_getGridSize(ss);
        int gridFaces = gridSize - 1;
@@ -1374,8 +1374,6 @@ static void ccgDM_drawMappedFacesGLSL(DerivedMesh *dm, int (*setMaterial)(int, v
        transp = GPU_get_material_blend_mode();
        orig_transp = transp;
 
-       memset(&attribs, 0, sizeof(attribs));
-
 #define PASSATTRIB(dx, dy, vert) {                                                                                             \
        if(attribs.totorco) {                                                                                                           \
                index = getFaceIndex(ss, f, S, x+dx, y+dy, edgeSize, gridSize);                 \
index b50b1bc..595781a 100644 (file)
@@ -588,20 +588,16 @@ static void bh8_from_bh4(BHead *bhead, BHead4 *bhead4)
 
 static BHeadN *get_bhead(FileData *fd)
 {
-       BHead8 bhead8;
-       BHead4 bhead4;
-       BHead  bhead;
        BHeadN *new_bhead = 0;
        int readsize;
        
        if (fd) {
                if ( ! fd->eof) {
-
-                       /* not strictly needed but shuts valgrind up
+                       /* initializing to zero isn't strictly needed but shuts valgrind up
                         * since uninitialized memory gets compared */
-                       memset(&bhead8, 0, sizeof(BHead8));
-                       memset(&bhead4, 0, sizeof(BHead4));
-                       memset(&bhead,  0, sizeof(BHead));
+                       BHead8 bhead8= {0};
+                       BHead4 bhead4= {0};
+                       BHead  bhead= {0};
                        
                        // First read the bhead structure.
                        // Depending on the platform the file was written on this can
index 373ad54..7cfe180 100644 (file)
@@ -352,14 +352,13 @@ static short bezt_nlamapping_apply(KeyframeEditData *ked, BezTriple *bezt)
  */
 void ANIM_nla_mapping_apply_fcurve (AnimData *adt, FCurve *fcu, short restore, short only_keys)
 {
-       KeyframeEditData ked;
+       KeyframeEditData ked= {{0}};
        KeyframeEditFunc map_cb;
        
        /* init edit data 
         *      - AnimData is stored in 'data'
         *      - only_keys is stored in 'i1'
         */
-       memset(&ked, 0, sizeof(KeyframeEditData));
        ked.data= (void *)adt;
        ked.i1= (int)only_keys;
        
index 6ace48d..a6bdc8d 100644 (file)
@@ -364,14 +364,13 @@ short ANIM_paste_driver (ID *id, const char rna_path[], int array_index, short U
 
 static int add_driver_button_exec (bContext *C, wmOperator *op)
 {
-       PointerRNA ptr;
+       PointerRNA ptr= {{0}};
        PropertyRNA *prop= NULL;
        char *path;
        short success= 0;
        int index, all= RNA_boolean_get(op->ptr, "all");
        
        /* try to create driver using property retrieved from UI */
-       memset(&ptr, 0, sizeof(PointerRNA));
        uiContextActiveProperty(C, &ptr, &prop, &index);
 
        if (all)
@@ -421,14 +420,13 @@ void ANIM_OT_driver_button_add (wmOperatorType *ot)
 
 static int remove_driver_button_exec (bContext *C, wmOperator *op)
 {
-       PointerRNA ptr;
+       PointerRNA ptr= {{0}};
        PropertyRNA *prop= NULL;
        char *path;
        short success= 0;
        int index, all= RNA_boolean_get(op->ptr, "all");
        
        /* try to find driver using property retrieved from UI */
-       memset(&ptr, 0, sizeof(PointerRNA));
        uiContextActiveProperty(C, &ptr, &prop, &index);
        
        if (all)
@@ -474,14 +472,13 @@ void ANIM_OT_driver_button_remove (wmOperatorType *ot)
 
 static int copy_driver_button_exec (bContext *C, wmOperator *UNUSED(op))
 {
-       PointerRNA ptr;
+       PointerRNA ptr= {{0}};
        PropertyRNA *prop= NULL;
        char *path;
        short success= 0;
        int index;
        
        /* try to create driver using property retrieved from UI */
-       memset(&ptr, 0, sizeof(PointerRNA));
        uiContextActiveProperty(C, &ptr, &prop, &index);
        
        if (ptr.id.data && ptr.data && prop && RNA_property_animateable(&ptr, prop)) {
@@ -520,14 +517,13 @@ void ANIM_OT_copy_driver_button (wmOperatorType *ot)
 
 static int paste_driver_button_exec (bContext *C, wmOperator *UNUSED(op))
 {
-       PointerRNA ptr;
+       PointerRNA ptr= {{0}};
        PropertyRNA *prop= NULL;
        char *path;
        short success= 0;
        int index;
        
        /* try to create driver using property retrieved from UI */
-       memset(&ptr, 0, sizeof(PointerRNA));
        uiContextActiveProperty(C, &ptr, &prop, &index);
        
        if (ptr.id.data && ptr.data && prop && RNA_property_animateable(&ptr, prop)) {
index ddd692d..7f99a5e 100644 (file)
@@ -1439,7 +1439,7 @@ static int delete_key_button_exec (bContext *C, wmOperator *op)
 {
        Main *bmain= CTX_data_main(C);
        Scene *scene= CTX_data_scene(C);
-       PointerRNA ptr;
+       PointerRNA ptr= {{0}};
        PropertyRNA *prop= NULL;
        char *path;
        float cfra= (float)CFRA; // XXX for now, don't bother about all the yucky offset crap
@@ -1447,7 +1447,6 @@ static int delete_key_button_exec (bContext *C, wmOperator *op)
        int a, index, length, all= RNA_boolean_get(op->ptr, "all");
        
        /* try to insert keyframe using property retrieved from UI */
-       memset(&ptr, 0, sizeof(PointerRNA));
        uiContextActiveProperty(C, &ptr, &prop, &index);
 
        if (ptr.id.data && ptr.data && prop) {
index 5761765..aec35df 100644 (file)
@@ -286,7 +286,7 @@ static int add_keyingset_button_exec (bContext *C, wmOperator *op)
        Scene *scene= CTX_data_scene(C);
        KeyingSet *ks = NULL;
        PropertyRNA *prop= NULL;
-       PointerRNA ptr;
+       PointerRNA ptr= {{0}};
        char *path = NULL;
        short success= 0;
        int index=0, pflag=0;
@@ -322,7 +322,6 @@ static int add_keyingset_button_exec (bContext *C, wmOperator *op)
                ks= BLI_findlink(&scene->keyingsets, scene->active_keyingset-1);
        
        /* try to add to keyingset using property retrieved from UI */
-       memset(&ptr, 0, sizeof(PointerRNA));
        uiContextActiveProperty(C, &ptr, &prop, &index);
        
        /* check if property is able to be added */
@@ -387,7 +386,7 @@ static int remove_keyingset_button_exec (bContext *C, wmOperator *op)
        Scene *scene= CTX_data_scene(C);
        KeyingSet *ks = NULL;
        PropertyRNA *prop= NULL;
-       PointerRNA ptr;
+       PointerRNA ptr= {{0}};
        char *path = NULL;
        short success= 0;
        int index=0;
@@ -408,7 +407,6 @@ static int remove_keyingset_button_exec (bContext *C, wmOperator *op)
                ks= BLI_findlink(&scene->keyingsets, scene->active_keyingset-1);
        
        /* try to add to keyingset using property retrieved from UI */
-       memset(&ptr, 0, sizeof(PointerRNA));
        uiContextActiveProperty(C, &ptr, &prop, &index);
 
        if (ptr.id.data && ptr.data && prop) {
index a595396..d143080 100644 (file)
@@ -407,15 +407,13 @@ static EnumPropertyItem *poselib_stored_pose_itemf(bContext *C, PointerRNA *UNUS
        Object *ob= ED_object_pose_armature(CTX_data_active_object(C));
        bAction *act= (ob) ? ob->poselib : NULL;
        TimeMarker *marker;
-       EnumPropertyItem *item= NULL, item_tmp;
+       EnumPropertyItem *item= NULL, item_tmp= {0};
        int totitem= 0;
        int i= 0;
 
        if (C==NULL) {
                return DummyRNA_DEFAULT_items;
        }
-
-       memset(&item_tmp, 0, sizeof(item_tmp));
        
        /* check that the action exists */
        if (act) {
@@ -708,7 +706,7 @@ static void poselib_apply_pose (tPoseLib_PreviewData *pld)
        bAction *act= pld->act;
        bActionGroup *agrp;
        
-       KeyframeEditData ked;
+       KeyframeEditData ked= {{0}};
        KeyframeEditFunc group_ok_cb;
        int frame= 1;
        
@@ -721,7 +719,6 @@ static void poselib_apply_pose (tPoseLib_PreviewData *pld)
        
        /* init settings for testing groups for keyframes */
        group_ok_cb= ANIM_editkeyframes_ok(BEZT_OK_FRAMERANGE);
-       memset(&ked, 0, sizeof(KeyframeEditData)); 
        ked.f1= ((float)frame) - 0.5f;
        ked.f2= ((float)frame) + 0.5f;
        
index ecb3460..217a83c 100644 (file)
@@ -1682,11 +1682,9 @@ void ARMATURE_OT_armature_layers (wmOperatorType *ot)
 /* Present a popup to get the layers that should be used */
 static int pose_bone_layers_invoke (bContext *C, wmOperator *op, wmEvent *evt)
 {
-       int layers[32]; /* hardcoded for now - we can only have 32 armature layers, so this should be fine... */
-       
-       /* get layers that are active already */
-       memset(&layers, 0, sizeof(layers)); /* set all layers to be off by default */
+       int layers[32]= {0}; /* hardcoded for now - we can only have 32 armature layers, so this should be fine... */
        
+       /* get layers that are active already */        
        CTX_DATA_BEGIN(C, bPoseChannel *, pchan, selected_pose_bones) 
        {
                short bit;
@@ -1756,11 +1754,9 @@ void POSE_OT_bone_layers (wmOperatorType *ot)
 /* Present a popup to get the layers that should be used */
 static int armature_bone_layers_invoke (bContext *C, wmOperator *op, wmEvent *evt)
 {
-       int layers[32]; /* hardcoded for now - we can only have 32 armature layers, so this should be fine... */
+       int layers[32]= {0}; /* hardcoded for now - we can only have 32 armature layers, so this should be fine... */
        
        /* get layers that are active already */
-       memset(&layers, 0, sizeof(layers)); /* set all layers to be off by default */
-       
        CTX_DATA_BEGIN(C, EditBone *, ebone, selected_editable_bones) 
        {
                short bit;
index 0c28d4a..dd422f6 100644 (file)
@@ -307,9 +307,7 @@ static int bake_image_exec(bContext *C, wmOperator *op)
        }
        else {
                ListBase threads;
-               BakeRender bkr;
-
-               memset(&bkr, 0, sizeof(bkr));
+               BakeRender bkr= {0};
 
                init_bake_internal(&bkr, C);
                bkr.reports= op->reports;
index b0704e7..32bb02d 100644 (file)
@@ -1102,15 +1102,13 @@ static int actkeys_framejump_exec(bContext *C, wmOperator *UNUSED(op))
        ListBase anim_data= {NULL, NULL};
        bAnimListElem *ale;
        int filter;
-       KeyframeEditData ked;
+       KeyframeEditData ked= {{0}};
        
        /* get editor data */
        if (ANIM_animdata_get_context(C, &ac) == 0)
                return OPERATOR_CANCELLED;
        
-       /* init edit data */
-       memset(&ked, 0, sizeof(KeyframeEditData));
-       
+       /* init edit data */    
        /* loop over action data, averaging values */
        filter= (ANIMFILTER_VISIBLE | ANIMFILTER_CURVESONLY | ANIMFILTER_NODUPLIS);
        ANIM_animdata_filter(&ac, &anim_data, filter, ac.data, ac.datatype);
@@ -1174,7 +1172,7 @@ static void snap_action_keys(bAnimContext *ac, short mode)
        bAnimListElem *ale;
        int filter;
        
-       KeyframeEditData ked;
+       KeyframeEditData ked= {{0}};
        KeyframeEditFunc edit_cb;
        
        /* filter data */
@@ -1186,8 +1184,7 @@ static void snap_action_keys(bAnimContext *ac, short mode)
        
        /* get beztriple editing callbacks */
        edit_cb= ANIM_editkeyframes_snap(mode);
-       
-       memset(&ked, 0, sizeof(KeyframeEditData)); 
+
        ked.scene= ac->scene;
        if (mode == ACTKEYS_SNAP_NEAREST_MARKER) {
                ked.list.first= (ac->markers) ? ac->markers->first : NULL;
@@ -1274,13 +1271,12 @@ static void mirror_action_keys(bAnimContext *ac, short mode)
        bAnimListElem *ale;
        int filter;
        
-       KeyframeEditData ked;
+       KeyframeEditData ked= {{0}};
        KeyframeEditFunc edit_cb;
        
        /* get beztriple editing callbacks */
        edit_cb= ANIM_editkeyframes_mirror(mode);
-       
-       memset(&ked, 0, sizeof(KeyframeEditData)); 
+
        ked.scene= ac->scene;
        
        /* for 'first selected marker' mode, need to find first selected marker first! */
index 11b6123..d6039ac 100644 (file)
@@ -85,7 +85,7 @@ static void deselect_action_keys (bAnimContext *ac, short test, short sel)
        bAnimListElem *ale;
        int filter;
        
-       KeyframeEditData ked;
+       KeyframeEditData ked= {{0}};
        KeyframeEditFunc test_cb, sel_cb;
        
        /* determine type-based settings */
@@ -98,7 +98,6 @@ static void deselect_action_keys (bAnimContext *ac, short test, short sel)
        ANIM_animdata_filter(ac, &anim_data, filter, ac->data, ac->datatype);
        
        /* init BezTriple looping data */
-       memset(&ked, 0, sizeof(KeyframeEditData));
        test_cb= ANIM_editkeyframes_ok(BEZT_OK_SELECTED);
        
        /* See if we should be selecting or deselecting */
@@ -367,7 +366,7 @@ static void markers_selectkeys_between (bAnimContext *ac)
        int filter;
        
        KeyframeEditFunc ok_cb, select_cb;
-       KeyframeEditData ked;
+       KeyframeEditData ked= {{0}};
        float min, max;
        
        /* get extreme markers */
@@ -378,8 +377,7 @@ static void markers_selectkeys_between (bAnimContext *ac)
        /* get editing funcs + data */
        ok_cb= ANIM_editkeyframes_ok(BEZT_OK_FRAMERANGE);
        select_cb= ANIM_editkeyframes_select(SELECT_ADD);
-       
-       memset(&ked, 0, sizeof(KeyframeEditData));
+
        ked.f1= min; 
        ked.f2= max;
        
@@ -416,10 +414,9 @@ static void columnselect_action_keys (bAnimContext *ac, short mode)
        Scene *scene= ac->scene;
        CfraElem *ce;
        KeyframeEditFunc select_cb, ok_cb;
-       KeyframeEditData ked;
+       KeyframeEditData ked= {{0}};;
        
        /* initialise keyframe editing data */
-       memset(&ked, 0, sizeof(KeyframeEditData));
        
        /* build list of columns */
        switch (mode) {
@@ -613,13 +610,12 @@ static void select_moreless_action_keys (bAnimContext *ac, short mode)
        bAnimListElem *ale;
        int filter;
        
-       KeyframeEditData ked;
+       KeyframeEditData ked= {{0}};
        KeyframeEditFunc build_cb;
        
        
        /* init selmap building data */
        build_cb= ANIM_editkeyframes_buildselmap(mode);
-       memset(&ked, 0, sizeof(KeyframeEditData)); 
        
        /* loop through all of the keys and select additional keyframes based on these */
        filter= (ANIMFILTER_VISIBLE | ANIMFILTER_CURVESONLY | ANIMFILTER_NODUPLIS);
@@ -746,13 +742,12 @@ static void actkeys_mselect_single (bAnimContext *ac, bAnimListElem *ale, short
        bDopeSheet *ads= (ac->datatype == ANIMCONT_DOPESHEET) ? ac->data : NULL;
        int ds_filter = ((ads) ? (ads->filterflag) : (0));
        
-       KeyframeEditData ked;
+       KeyframeEditData ked= {{0}};
        KeyframeEditFunc select_cb, ok_cb;
        
        /* get functions for selecting keyframes */
        select_cb= ANIM_editkeyframes_select(select_mode);
        ok_cb= ANIM_editkeyframes_ok(BEZT_OK_FRAME);
-       memset(&ked, 0, sizeof(KeyframeEditData)); 
        ked.f1= selx;
        
        /* select the nominated keyframe on the given frame */
@@ -767,7 +762,7 @@ static void actkeys_mselect_leftright (bAnimContext *ac, short leftright, short
        int filter;
        
        KeyframeEditFunc ok_cb, select_cb;
-       KeyframeEditData ked;
+       KeyframeEditData ked= {{0}};
        Scene *scene= ac->scene;
        
        /* if select mode is replace, deselect all keyframes (and channels) first */
@@ -782,8 +777,7 @@ static void actkeys_mselect_leftright (bAnimContext *ac, short leftright, short
        /* set callbacks and editing data */
        ok_cb= ANIM_editkeyframes_ok(BEZT_OK_FRAMERANGE);
        select_cb= ANIM_editkeyframes_select(select_mode);
-       
-       memset(&ked, 0, sizeof(KeyframeEditFunc));
+
        if (leftright == ACTKEYS_LRSEL_LEFT) {
                ked.f1 = MINAFRAMEF;
                ked.f2 = (float)(CFRA + FRAME_CLICK_THRESH);
@@ -847,10 +841,9 @@ static void actkeys_mselect_column(bAnimContext *ac, short select_mode, float se
        int filter;
        
        KeyframeEditFunc select_cb, ok_cb;
-       KeyframeEditData ked;
+       KeyframeEditData ked= {{0}};
        
        /* initialise keyframe editing data */
-       memset(&ked, 0, sizeof(KeyframeEditData));
        
        /* set up BezTriple edit callbacks */
        select_cb= ANIM_editkeyframes_select(select_mode);
index 0aa0a87..4e42e19 100644 (file)
@@ -85,7 +85,7 @@ static void deselect_graph_keys (bAnimContext *ac, short test, short sel)
        int filter;
        
        SpaceIpo *sipo= (SpaceIpo *)ac->sa->spacedata.first;
-       KeyframeEditData ked;
+       KeyframeEditData ked= {{0}};
        KeyframeEditFunc test_cb, sel_cb;
        
        /* determine type-based settings */
@@ -95,7 +95,6 @@ static void deselect_graph_keys (bAnimContext *ac, short test, short sel)
        ANIM_animdata_filter(ac, &anim_data, filter, ac->data, ac->datatype);
        
        /* init BezTriple looping data */
-       memset(&ked, 0, sizeof(KeyframeEditData));
        test_cb= ANIM_editkeyframes_ok(BEZT_OK_SELECTED);
        
        /* See if we should be selecting or deselecting */
index 0789114..846812c 100644 (file)
@@ -327,12 +327,10 @@ static void stats_dupli_object(Base *base, Object *ob, SceneStats *stats)
 /* Statistics displayed in info header. Called regularly on scene changes. */
 static void stats_update(Scene *scene)
 {
-       SceneStats stats;
+       SceneStats stats= {0};
        Object *ob= (scene->basact)? scene->basact->object: NULL;
        Base *base;
        
-       memset(&stats, 0, sizeof(stats));
-
        if(scene->obedit) {
                /* Edit Mode */
                stats_object_edit(scene->obedit, &stats);
index e13a229..886bd59 100644 (file)
@@ -1258,7 +1258,7 @@ static int nlaedit_apply_scale_exec (bContext *C, wmOperator *UNUSED(op))
        bAnimListElem *ale;
        int filter;
        
-       KeyframeEditData ked;
+       KeyframeEditData ked= {{0}};
        
        /* get editor data */
        if (ANIM_animdata_get_context(C, &ac) == 0)
@@ -1269,7 +1269,6 @@ static int nlaedit_apply_scale_exec (bContext *C, wmOperator *UNUSED(op))
        ANIM_animdata_filter(&ac, &anim_data, filter, ac.data, ac.datatype);
        
        /* init the editing data */
-       memset(&ked, 0, sizeof(KeyframeEditData));
        
        /* for each NLA-Track, apply scale of all selected strips */
        for (ale= anim_data.first; ale; ale= ale->next) {
index a81d6e3..172163e 100644 (file)
@@ -432,11 +432,9 @@ static void node_draw_mute_line(View2D *v2d, SpaceNode *snode, bNode *node)
 {
        bNodeSocket *valsock= NULL, *colsock= NULL, *vecsock= NULL;
        bNodeSocket *sock;
-       bNodeLink link;
+       bNodeLink link= {0};
        int a;
        
-       memset(&link, 0, sizeof(bNodeLink));
-       
        /* connect the first value buffer in with first value out */
        /* connect the first RGBA buffer in with first RGBA out */
        
index a03baa2..1de7704 100644 (file)
@@ -281,7 +281,7 @@ static ActKeyColumn *time_cfra_find_ak (ActKeyColumn *ak, float cframe)
 /* helper for time_draw_keyframes() */
 static void time_draw_idblock_keyframes(View2D *v2d, ID *id, short onlysel)
 {
-       bDopeSheet ads;
+       bDopeSheet ads= {0};
        DLRBT_Tree keys;
        ActKeyColumn *ak;
        
@@ -290,7 +290,6 @@ static void time_draw_idblock_keyframes(View2D *v2d, ID *id, short onlysel)
        
        /* init dopesheet settings */
        // FIXME: the ob_to_keylist function currently doesn't take this into account...
-       memset(&ads, 0, sizeof(bDopeSheet));
        if (onlysel)
                ads.filterflag |= ADS_FILTER_ONLYSEL;
        
index de373d5..b8fff23 100644 (file)
@@ -1871,8 +1871,6 @@ static void gpu_update_lamps_shadows(Scene *scene, View3D *v3d)
        Scene *sce;
        Base *base;
        Object *ob;
-       ARegion ar;
-       RegionView3D rv3d;
        
        shadows.first= shadows.last= NULL;
        
@@ -1901,6 +1899,8 @@ static void gpu_update_lamps_shadows(Scene *scene, View3D *v3d)
                /* this needs to be done better .. */
                float viewmat[4][4], winmat[4][4];
                int drawtype, lay, winsize, flag2=v3d->flag2;
+               ARegion ar= {0};
+               RegionView3D rv3d= {{{0}}};
                
                drawtype= v3d->drawtype;
                lay= v3d->lay;
@@ -1912,9 +1912,6 @@ static void gpu_update_lamps_shadows(Scene *scene, View3D *v3d)
                
                GPU_lamp_shadow_buffer_bind(shadow->lamp, viewmat, &winsize, winmat);
 
-               memset(&ar, 0, sizeof(ar));
-               memset(&rv3d, 0, sizeof(rv3d));
-
                ar.regiondata= &rv3d;
                ar.regiontype= RGN_TYPE_WINDOW;
                rv3d.persp= RV3D_CAMOB;
@@ -2180,13 +2177,9 @@ ImBuf *ED_view3d_draw_offscreen_imbuf(Scene *scene, View3D *v3d, ARegion *ar, in
 /* creates own 3d views, used by the sequencer */
 ImBuf *ED_view3d_draw_offscreen_imbuf_simple(Scene *scene, int width, int height, unsigned int flag, int drawtype)
 {
-       View3D v3d;
-       ARegion ar;
-       RegionView3D rv3d;
-
-       memset(&v3d, 0, sizeof(v3d));
-       memset(&ar, 0, sizeof(ar));
-       memset(&rv3d, 0, sizeof(rv3d));
+       View3D v3d= {0};
+       ARegion ar= {0};
+       RegionView3D rv3d= {{{0}}};
 
        /* connect data */
        v3d.regionbase.first= v3d.regionbase.last= &ar;
index 089658c..8d6eec3 100644 (file)
@@ -175,10 +175,9 @@ void smooth_view(bContext *C, Object *oldcamera, Object *camera, float *ofs, flo
 {
        View3D *v3d = CTX_wm_view3d(C);
        RegionView3D *rv3d= CTX_wm_region_view3d(C);
-       struct SmoothViewStore sms;
+       struct SmoothViewStore sms= {0};
        
        /* initialize sms */
-       memset(&sms,0,sizeof(struct SmoothViewStore));
        copy_v3_v3(sms.new_ofs, rv3d->ofs);
        copy_qt_qt(sms.new_quat, rv3d->viewquat);
        sms.new_dist= rv3d->dist;
index dbeee4f..fa8931d 100644 (file)
@@ -1919,14 +1919,13 @@ static void constraintTransLim(TransInfo *UNUSED(t), TransData *td)
 {
        if (td->con) {
                bConstraintTypeInfo *cti= get_constraint_typeinfo(CONSTRAINT_TYPE_LOCLIMIT);
-               bConstraintOb cob;
+               bConstraintOb cob= {0};
                bConstraint *con;
                
                /* Make a temporary bConstraintOb for using these limit constraints
                 *      - they only care that cob->matrix is correctly set ;-)
                 *      - current space should be local
                 */
-               memset(&cob, 0, sizeof(bConstraintOb));
                unit_m4(cob.matrix);
                VECCOPY(cob.matrix[3], td->loc);
                
@@ -2084,14 +2083,13 @@ static void constraintSizeLim(TransInfo *t, TransData *td)
 {
        if (td->con && td->ext) {
                bConstraintTypeInfo *cti= get_constraint_typeinfo(CONSTRAINT_TYPE_SIZELIMIT);
-               bConstraintOb cob;
+               bConstraintOb cob= {0};
                bConstraint *con;
                
                /* Make a temporary bConstraintOb for using these limit constraints
                 *      - they only care that cob->matrix is correctly set ;-)
                 *      - current space should be local
                 */
-               memset(&cob, 0, sizeof(bConstraintOb));
                if ((td->flag & TD_SINGLESIZE) && !(t->con.mode & CON_APPLY)) {
                        /* scale val and reset size */
                        return; // TODO: fix this case
index cd40cb3..453a48b 100644 (file)
@@ -334,15 +334,13 @@ void recalcData(TransInfo *t)
                Scene *scene= t->scene;
                SpaceAction *saction= (SpaceAction *)t->sa->spacedata.first;
                
-               bAnimContext ac;
+               bAnimContext ac= {0};
                ListBase anim_data = {NULL, NULL};
                bAnimListElem *ale;
                int filter;
                
                /* initialise relevant anim-context 'context' data from TransInfo data */
                        /* NOTE: sync this with the code in ANIM_animdata_get_context() */
-               memset(&ac, 0, sizeof(bAnimContext));
-               
                ac.scene= t->scene;
                ac.obact= OBACT;
                ac.sa= t->sa;
index a31ec95..d7aa7c3 100644 (file)
@@ -629,10 +629,8 @@ static void shade_one_light(GPUShadeInput *shi, GPUShadeResult *shr, GPULamp *la
        }
        else {
                if(lamp->type == LA_AREA) {
-                       float area[4][4], areasize;
+                       float area[4][4]= {{0.0f}}, areasize= 0.0f;
 
-                       memset(&area, 0, sizeof(area));
-                       memset(&areasize, 0, sizeof(areasize));
                        mat->dynproperty |= DYN_LAMP_VEC|DYN_LAMP_CO;
                        GPU_link(mat, "shade_inp_area", GPU_builtin(GPU_VIEW_POSITION), GPU_dynamic_uniform(lamp->dynco), GPU_dynamic_uniform(lamp->dynvec), vn, GPU_uniform((float*)area),
                                GPU_uniform(&areasize), GPU_uniform(&lamp->k), &inp);
index 6cdb842..fe82c6e 100644 (file)
@@ -101,11 +101,10 @@ void RNA_main_pointer_create(struct Main *main, PointerRNA *r_ptr)
 
 void RNA_id_pointer_create(ID *id, PointerRNA *r_ptr)
 {
-       PointerRNA tmp;
        StructRNA *type, *idtype= NULL;
 
        if(id) {
-               memset(&tmp, 0, sizeof(tmp));
+               PointerRNA tmp= {{0}};
                tmp.data= id;
                idtype= rna_ID_refine(&tmp);
                
@@ -126,11 +125,10 @@ void RNA_id_pointer_create(ID *id, PointerRNA *r_ptr)
 
 void RNA_pointer_create(ID *id, StructRNA *type, void *data, PointerRNA *r_ptr)
 {
-       PointerRNA tmp;
        StructRNA *idtype= NULL;
 
        if(id) {
-               memset(&tmp, 0, sizeof(tmp));
+               PointerRNA tmp= {{0}};
                tmp.data= id;
                idtype= rna_ID_refine(&tmp);
        }
@@ -1974,9 +1972,7 @@ PointerRNA RNA_property_pointer_get(PointerRNA *ptr, PropertyRNA *prop)
                return RNA_property_pointer_get(ptr, prop);
        }
        else {
-               PointerRNA result;
-
-               memset(&result, 0, sizeof(result));
+               PointerRNA result= {{0}};
                return result;
        }
 }
index 39e8315..a76a3e9 100644 (file)
@@ -91,12 +91,11 @@ int intersect_outside_volume(RayObject *tree, Isect *isect, float *offset, int l
 /* Uses ray tracing to check if a point is inside or outside an ObjectInstanceRen */
 int point_inside_obi(RayObject *tree, ObjectInstanceRen *UNUSED(obi), float *co)
 {
-       Isect isect;
+       Isect isect= {{0}};
        float vec[3] = {0.0f,0.0f,1.0f};
        int final_depth=0, depth=0, limit=20;
        
        /* set up the isect */
-       memset(&isect, 0, sizeof(isect));
        VECCOPY(isect.start, co);
        VECCOPY(isect.vec, vec);
        isect.mode= RE_RAY_MIRROR;
index 1803a1c..ab49c8a 100644 (file)
@@ -216,16 +216,13 @@ void WM_timecursor(wmWindow *win, int nr)
        {0,  60,  66,  66,  60,  66,  66,  60}, 
        {0,  56,  68,  68, 120,  64,  68,  56} 
        };
-       unsigned char mask[16][2];
-       unsigned char bitmap[16][2];
+       unsigned char mask[16][2]= {{0}};
+       unsigned char bitmap[16][2]= {{0}};
        int i, idx;
        
        if(win->lastcursor == 0)
                win->lastcursor= win->cursor; 
        
-       memset(&bitmap, 0x00, sizeof(bitmap));
-       memset(&mask, 0xFF, sizeof(mask));
-       
        /* print number bottom right justified */
        for (idx= 3; nr && idx>=0; idx--) {
                char *digit= number_bitmaps[nr%10];