Revision: 41885
          
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=41885
Author:   campbellbarton
Date:     2011-11-15 16:38:48 +0000 (Tue, 15 Nov 2011)
Log Message:
-----------
patch [#28993] wm_window_match_do(): Fix crash on null pointer dereference
from Ola Jeppsson (olajep)

also some cleanup edits

Modified Paths:
--------------
    trunk/blender/source/blender/blenkernel/intern/softbody.c
    trunk/blender/source/blender/editors/transform/transform.c
    trunk/blender/source/blender/editors/transform/transform_snap.c
    trunk/blender/source/blender/makesrna/intern/rna_text.c
    trunk/blender/source/blender/windowmanager/intern/wm_apple.c
    trunk/blender/source/blender/windowmanager/intern/wm_files.c

Modified: trunk/blender/source/blender/blenkernel/intern/softbody.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/softbody.c   2011-11-15 
15:59:12 UTC (rev 41884)
+++ trunk/blender/source/blender/blenkernel/intern/softbody.c   2011-11-15 
16:38:48 UTC (rev 41885)
@@ -2368,7 +2368,7 @@
                        /* ---springs */
                }/*omit on snap */
        }/*loop all bp's*/
-return 0; /*done fine*/
+       return 0; /*done fine*/
 }
 
 static void *exec_softbody_calc_forces(void *data)

Modified: trunk/blender/source/blender/editors/transform/transform.c
===================================================================
--- trunk/blender/source/blender/editors/transform/transform.c  2011-11-15 
15:59:12 UTC (rev 41884)
+++ trunk/blender/source/blender/editors/transform/transform.c  2011-11-15 
16:38:48 UTC (rev 41885)
@@ -93,8 +93,8 @@
 
 #include "transform.h"
 
-void drawTransformApply(const struct bContext *C, struct ARegion *ar, void 
*arg);
-int doEdgeSlide(TransInfo *t, float perc);
+static void drawTransformApply(const struct bContext *C, struct ARegion *ar, 
void *arg);
+static int doEdgeSlide(TransInfo *t, float perc);
 
 /* ************************** SPACE DEPENDANT CODE 
**************************** */
 
@@ -1784,7 +1784,7 @@
        t->context = NULL;
 }
 
-void drawTransformApply(const bContext *C, struct ARegion *UNUSED(ar), void 
*arg)
+static void drawTransformApply(const bContext *C, struct ARegion *UNUSED(ar), 
void *arg)
 {
        TransInfo *t = arg;
 
@@ -4840,7 +4840,7 @@
        t->flag |= T_NO_CONSTRAINT|T_NO_PROJECT;
 }
 
-int doEdgeSlide(TransInfo *t, float perc)
+static int doEdgeSlide(TransInfo *t, float perc)
 {
        SlideData *sld = t->customData;
        EditVert *ev, *nearest = sld->nearest;

Modified: trunk/blender/source/blender/editors/transform/transform_snap.c
===================================================================
--- trunk/blender/source/blender/editors/transform/transform_snap.c     
2011-11-15 15:59:12 UTC (rev 41884)
+++ trunk/blender/source/blender/editors/transform/transform_snap.c     
2011-11-15 16:38:48 UTC (rev 41885)
@@ -90,23 +90,23 @@
 
 /********************* PROTOTYPES ***********************/
 
-void setSnappingCallback(TransInfo *t);
+static void setSnappingCallback(TransInfo *t);
 
-void ApplySnapTranslation(TransInfo *t, float vec[3]);
-void ApplySnapRotation(TransInfo *t, float *vec);
-void ApplySnapResize(TransInfo *t, float *vec);
+static void ApplySnapTranslation(TransInfo *t, float vec[3]);
+static void ApplySnapRotation(TransInfo *t, float *vec);
+static void ApplySnapResize(TransInfo *t, float *vec);
 
-void CalcSnapGrid(TransInfo *t, float *vec);
-void CalcSnapGeometry(TransInfo *t, float *vec);
+static void CalcSnapGrid(TransInfo *t, float *vec);
+static void CalcSnapGeometry(TransInfo *t, float *vec);
 
-void TargetSnapMedian(TransInfo *t);
-void TargetSnapCenter(TransInfo *t);
-void TargetSnapClosest(TransInfo *t);
-void TargetSnapActive(TransInfo *t);
+static void TargetSnapMedian(TransInfo *t);
+static void TargetSnapCenter(TransInfo *t);
+static void TargetSnapClosest(TransInfo *t);
+static void TargetSnapActive(TransInfo *t);
 
-float RotationBetween(TransInfo *t, float p1[3], float p2[3]);
-float TranslationBetween(TransInfo *t, float p1[3], float p2[3]);
-float ResizeBetween(TransInfo *t, float p1[3], float p2[3]);
+static float RotationBetween(TransInfo *t, float p1[3], float p2[3]);
+static float TranslationBetween(TransInfo *t, float p1[3], float p2[3]);
+static float ResizeBetween(TransInfo *t, float p1[3], float p2[3]);
 
 
 /****************** IMPLEMENTATIONS *********************/
@@ -483,7 +483,7 @@
        initSnappingMode(t);
 }
 
-void setSnappingCallback(TransInfo *t)
+static void setSnappingCallback(TransInfo *t)
 {
        t->tsnap.calcSnap = CalcSnapGeometry;
 
@@ -584,14 +584,14 @@
 
 /********************** APPLY **************************/
 
-void ApplySnapTranslation(TransInfo *t, float vec[3])
+static void ApplySnapTranslation(TransInfo *t, float vec[3])
 {
        float point[3];
        getSnapPoint(t, point);
        sub_v3_v3v3(vec, point, t->tsnap.snapTarget);
 }
 
-void ApplySnapRotation(TransInfo *t, float *vec)
+static void ApplySnapRotation(TransInfo *t, float *vec)
 {
        if (t->tsnap.target == SCE_SNAP_TARGET_CLOSEST) {
                *vec = t->tsnap.dist;
@@ -603,7 +603,7 @@
        }
 }
 
-void ApplySnapResize(TransInfo *t, float vec[3])
+static void ApplySnapResize(TransInfo *t, float vec[3])
 {
        if (t->tsnap.target == SCE_SNAP_TARGET_CLOSEST) {
                vec[0] = vec[1] = vec[2] = t->tsnap.dist;
@@ -617,12 +617,12 @@
 
 /********************** DISTANCE **************************/
 
-float TranslationBetween(TransInfo *UNUSED(t), float p1[3], float p2[3])
+static float TranslationBetween(TransInfo *UNUSED(t), float p1[3], float p2[3])
 {
        return len_v3v3(p1, p2);
 }
 
-float RotationBetween(TransInfo *t, float p1[3], float p2[3])
+static float RotationBetween(TransInfo *t, float p1[3], float p2[3])
 {
        float angle, start[3], end[3], center[3];
        
@@ -678,7 +678,7 @@
        return angle;
 }
 
-float ResizeBetween(TransInfo *t, float p1[3], float p2[3])
+static float ResizeBetween(TransInfo *t, float p1[3], float p2[3])
 {
        float d1[3], d2[3], center[3];
        
@@ -701,12 +701,12 @@
 
 /********************** CALC **************************/
 
-void CalcSnapGrid(TransInfo *t, float *UNUSED(vec))
+static void CalcSnapGrid(TransInfo *t, float *UNUSED(vec))
 {
        snapGridAction(t, t->tsnap.snapPoint, BIG_GEARS);
 }
 
-void CalcSnapGeometry(TransInfo *t, float *UNUSED(vec))
+static void CalcSnapGeometry(TransInfo *t, float *UNUSED(vec))
 {
        if (t->spacetype == SPACE_VIEW3D)
        {
@@ -866,7 +866,7 @@
 
 /********************** TARGET **************************/
 
-void TargetSnapCenter(TransInfo *t)
+static void TargetSnapCenter(TransInfo *t)
 {
        // Only need to calculate once
        if ((t->tsnap.status & TARGET_INIT) == 0)
@@ -881,7 +881,7 @@
        }
 }
 
-void TargetSnapActive(TransInfo *t)
+static void TargetSnapActive(TransInfo *t)
 {
        // Only need to calculate once
        if ((t->tsnap.status & TARGET_INIT) == 0)
@@ -920,7 +920,7 @@
        }
 }
 
-void TargetSnapMedian(TransInfo *t)
+static void TargetSnapMedian(TransInfo *t)
 {
        // Only need to calculate once
        if ((t->tsnap.status & TARGET_INIT) == 0)
@@ -948,7 +948,7 @@
        }
 }
 
-void TargetSnapClosest(TransInfo *t)
+static void TargetSnapClosest(TransInfo *t)
 {
        // Only valid if a snap point has been selected
        if (t->tsnap.status & POINT_INIT)

Modified: trunk/blender/source/blender/makesrna/intern/rna_text.c
===================================================================
--- trunk/blender/source/blender/makesrna/intern/rna_text.c     2011-11-15 
15:59:12 UTC (rev 41884)
+++ trunk/blender/source/blender/makesrna/intern/rna_text.c     2011-11-15 
16:38:48 UTC (rev 41885)
@@ -42,7 +42,7 @@
 
 #ifdef RNA_RUNTIME
 
-int text_file_modified(Text *text);
+int text_file_modified(Text *text); /* XXX bad level call */
 
 static void rna_Text_filename_get(PointerRNA *ptr, char *value)
 {

Modified: trunk/blender/source/blender/windowmanager/intern/wm_apple.c
===================================================================
--- trunk/blender/source/blender/windowmanager/intern/wm_apple.c        
2011-11-15 15:59:12 UTC (rev 41884)
+++ trunk/blender/source/blender/windowmanager/intern/wm_apple.c        
2011-11-15 16:38:48 UTC (rev 41885)
@@ -98,8 +98,8 @@
                StandardAlert (   kAlertStopAlert, (ConstStr255Param) &inError, 
(ConstStr255Param)&inText,NULL,&junkHit);
                abort();
        }
-CGLDestroyRendererInfo (rend);
-return 0;
+       CGLDestroyRendererInfo (rend);
+       return 0;
 }
 
 static void getMacAvailableBounds(short *top, short *left, short *bottom, 
short *right) 

Modified: trunk/blender/source/blender/windowmanager/intern/wm_files.c
===================================================================
--- trunk/blender/source/blender/windowmanager/intern/wm_files.c        
2011-11-15 15:59:12 UTC (rev 41884)
+++ trunk/blender/source/blender/windowmanager/intern/wm_files.c        
2011-11-15 16:38:48 UTC (rev 41885)
@@ -155,8 +155,9 @@
        CTX_wm_window_set(C, active_win);
 
        ED_editors_exit(C);
-       
-return;        
+
+       /* just had return; here from r12991, this code could just get 
removed?*/
+#if 0
        if(wm==NULL) return;
        if(G.fileflags & G_FILE_NO_UI) return;
        
@@ -168,6 +169,7 @@
                        //BLI_addtail(screenbase, win->screen);
                }
        }
+#endif
 }
 
 /* match old WM with new, 4 cases:
@@ -193,9 +195,10 @@
                
                /* we've read file without wm..., keep current one entirely 
alive */
                if(G.main->wm.first==NULL) {
+                       bScreen *screen= NULL;
+
                        /* when loading without UI, no matching needed */
-                       if(!(G.fileflags & G_FILE_NO_UI)) {
-                               bScreen *screen= CTX_wm_screen(C);
+                       if(!(G.fileflags & G_FILE_NO_UI) && (screen= 
CTX_wm_screen(C))) {
 
                                /* match oldwm to new dbase, only old files */
                                for(wm= oldwmlist->first; wm; wm= wm->id.next) {

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

Reply via email to