2.5 - Bugfixes
authorJoshua Leung <aligorith@gmail.com>
Mon, 4 May 2009 10:24:53 +0000 (10:24 +0000)
committerJoshua Leung <aligorith@gmail.com>
Mon, 4 May 2009 10:24:53 +0000 (10:24 +0000)
* Loading files saved with 2.5 works again now without crashing. Was crashing when trying to load Grease Pencil data (even though there was none)
* Fixed some msvc compiler warnings in own code

source/blender/blenkernel/BKE_fcurve.h
source/blender/blenkernel/intern/fcurve.c
source/blender/blenloader/intern/readfile.c

index 3d33b6158094727412437188341afc6d3fd10b91..9b8a2990fe57dfbf5cb807bf2447dea175fae772 100644 (file)
@@ -127,7 +127,7 @@ void copy_fcurves(ListBase *dst, ListBase *src);
 struct FCurve *list_find_fcurve(ListBase *list, const char rna_path[], const int array_index);
 
 /* test if there is a keyframe at cfra */
-int on_keyframe_fcurve(struct FCurve *fcu, float cfra);
+short on_keyframe_fcurve(struct FCurve *fcu, float cfra);
 
 /* get the time extents for F-Curve */
 void calc_fcurve_range(struct FCurve *fcu, float *min, float *max);
index 0585717e13e570f229230fa8afd3540b7bc8bf77..3d780ee97d5662b2be5db2c6d4ebceb6aef6b695 100644 (file)
@@ -175,15 +175,16 @@ FCurve *list_find_fcurve (ListBase *list, const char rna_path[], const int array
        return NULL;
 }
 
-int on_keyframe_fcurve(FCurve *fcu, float cfra)
+short on_keyframe_fcurve(FCurve *fcu, float cfra)
 {
        BezTriple *bezt;
-       int i;
+       unsigned i;
 
        bezt= fcu->bezt;
-       for (i=0; i<fcu->totvert; i++, bezt++)
-               if(IS_EQ(bezt->vec[1][0], cfra))
+       for (i=0; i<fcu->totvert; i++, bezt++) {
+               if (IS_EQ(bezt->vec[1][0], cfra))
                        return 1;
+       }
        
        return 0;
 }
index 450161854ec07a005ee5eaf998d7150f2654c101..fd9da2059e1ea55a2cc4c58a40fde9705b586fa6 100644 (file)
@@ -4090,6 +4090,10 @@ static void direct_link_gpencil(FileData *fd, bGPdata *gpd)
        bGPDframe *gpf;
        bGPDstroke *gps;
        
+       /* we must firstly have some grease-pencil data to link! */
+       if (gpd == NULL)
+               return;
+       
        /* relink layers */
        link_list(fd, &gpd->layers);