Revision: 28252
          
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=28252
Author:   campbellbarton
Date:     2010-04-18 11:12:18 +0200 (Sun, 18 Apr 2010)

Log Message:
-----------
various minor fixes
- collada export would run MEM_freeN on an un-initialized pointer in some cases.
- makesrna was missing a call to close a file.
- text cursor update function was missing a NULL check for st->text.
- possible (unlikely) un-initialized return value for bge python lamp.type, set 
error instead.
- possible (unlikely) missing NULL terminator with strncpy for ffmpeg.

Modified Paths:
--------------
    trunk/blender/source/blender/blenkernel/intern/writeffmpeg.c
    trunk/blender/source/blender/editors/space_text/text_draw.c
    trunk/blender/source/blender/makesrna/intern/makesrna.c
    trunk/blender/source/blender/windowmanager/intern/wm_operators.c
    trunk/blender/source/gameengine/Ketsji/KX_Light.cpp
    trunk/blender/source/gameengine/Ketsji/KX_WorldIpoController.cpp

Modified: trunk/blender/source/blender/blenkernel/intern/writeffmpeg.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/writeffmpeg.c        
2010-04-18 08:54:42 UTC (rev 28251)
+++ trunk/blender/source/blender/blenkernel/intern/writeffmpeg.c        
2010-04-18 09:12:18 UTC (rev 28252)
@@ -382,7 +382,7 @@
 
        fprintf(stderr, "FFMPEG expert option: %s: ", prop->name);
 
-       strncpy(name, prop->name, 128);
+       BLI_strncpy(name, prop->name, sizeof(name));
 
        param = strchr(name, ':');
 
@@ -1078,7 +1078,7 @@
        
        avcodec_get_context_defaults(&c);
 
-       strncpy(name_, str, 128);
+       strncpy(name_, str, sizeof(name_));
 
        name = name_;
        while (*name == ' ') name++;

Modified: trunk/blender/source/blender/editors/space_text/text_draw.c
===================================================================
--- trunk/blender/source/blender/editors/space_text/text_draw.c 2010-04-18 
08:54:42 UTC (rev 28251)
+++ trunk/blender/source/blender/editors/space_text/text_draw.c 2010-04-18 
09:12:18 UTC (rev 28252)
@@ -1318,20 +1318,20 @@
 {
        ScrArea *sa= CTX_wm_area(C);
        SpaceText *st= CTX_wm_space_text(C);
-       Text *text= st->text;
+       Text *text;
        ARegion *ar;
        int i, x, winx= 0;
 
-       if(!st) return;
+       if(!st || !st->text || st->text->curl) return;
 
+       text= st->text;
+
        for(ar=sa->regionbase.first; ar; ar= ar->next)
                if(ar->regiontype==RGN_TYPE_WINDOW)
                        winx= ar->winx;
        
        winx -= TXT_SCROLL_WIDTH;
 
-       if(!text || !text->curl) return;
-
        text_update_character_width(st);
 
        i= txt_get_span(text->lines.first, text->sell);

Modified: trunk/blender/source/blender/makesrna/intern/makesrna.c
===================================================================
--- trunk/blender/source/blender/makesrna/intern/makesrna.c     2010-04-18 
08:54:42 UTC (rev 28251)
+++ trunk/blender/source/blender/makesrna/intern/makesrna.c     2010-04-18 
09:12:18 UTC (rev 28252)
@@ -82,6 +82,7 @@
        if(fp_new==NULL) {
                /* shouldn't happen, just to be safe */
                fprintf(stderr, "%s:%d, open error: \"%s\"\n", __FILE__, 
__LINE__, tmpfile);
+               fclose(fp_org);
                return -1;
        }
 

Modified: trunk/blender/source/blender/windowmanager/intern/wm_operators.c
===================================================================
--- trunk/blender/source/blender/windowmanager/intern/wm_operators.c    
2010-04-18 08:54:42 UTC (rev 28251)
+++ trunk/blender/source/blender/windowmanager/intern/wm_operators.c    
2010-04-18 09:12:18 UTC (rev 28252)
@@ -1871,19 +1871,15 @@
 #include "../../collada/collada.h"
 
 static int wm_collada_export_invoke(bContext *C, wmOperator *op, wmEvent 
*event)
-{
-       char *path;
-       /* RNA_string_set(op->ptr, "path", "/tmp/test.dae"); */
-       
+{      
        if(!RNA_property_is_set(op->ptr, "path")) {
-               path = BLI_replacestr(G.sce, ".blend", ".dae");
+               char *path = BLI_replacestr(G.sce, ".blend", ".dae");
                RNA_string_set(op->ptr, "path", path);
+               MEM_freeN(path);
        }
-       
+
        WM_event_add_fileselect(C, op);
-       
-       if (path) MEM_freeN(path);
-       
+
        return OPERATOR_RUNNING_MODAL;
 }
 

Modified: trunk/blender/source/gameengine/Ketsji/KX_Light.cpp
===================================================================
--- trunk/blender/source/gameengine/Ketsji/KX_Light.cpp 2010-04-18 08:54:42 UTC 
(rev 28251)
+++ trunk/blender/source/gameengine/Ketsji/KX_Light.cpp 2010-04-18 09:12:18 UTC 
(rev 28252)
@@ -352,6 +352,11 @@
        } else if (!strcmp(type, "NORMAL")) {
                retvalue = PyLong_FromSsize_t(RAS_LightObject::LIGHT_NORMAL);
        }
+    else {
+        /* should never happen */
+        PyErr_SetString(PyExc_TypeError, "light.type: internal error, invalid 
light type");
+        retvalue = NULL;
+    }
 
        return retvalue;
 }

Modified: trunk/blender/source/gameengine/Ketsji/KX_WorldIpoController.cpp
===================================================================
--- trunk/blender/source/gameengine/Ketsji/KX_WorldIpoController.cpp    
2010-04-18 08:54:42 UTC (rev 28251)
+++ trunk/blender/source/gameengine/Ketsji/KX_WorldIpoController.cpp    
2010-04-18 09:12:18 UTC (rev 28252)
@@ -48,7 +48,8 @@
                for (i = m_interpolators.begin(); !(i == 
m_interpolators.end()); ++i) {
                        (*i)->Execute(m_ipotime);//currentTime);
                }
-               
+
+               /* TODO, this will crash! */
                KX_WorldInfo *world = NULL;
 
                if (m_modify_mist_start) {


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

Reply via email to