Revision: 15206
          
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=15206
Author:   bdiego
Date:     2008-06-12 05:00:24 +0200 (Thu, 12 Jun 2008)

Log Message:
-----------
branches/blender-2.47

Merge from trunk:
        Revision: 15187
        Revision: 15195
        Revision: 15197
        Revision: 15199

Modified Paths:
--------------
    branches/blender-2.47/source/blender/blenkernel/intern/library.c
    branches/blender-2.47/source/blender/blenlib/intern/util.c
    branches/blender-2.47/source/blender/python/BPY_interface.c
    branches/blender-2.47/source/blender/src/editmesh_lib.c
    branches/blender-2.47/source/blender/src/space.c

Modified: branches/blender-2.47/source/blender/blenkernel/intern/library.c
===================================================================
--- branches/blender-2.47/source/blender/blenkernel/intern/library.c    
2008-06-12 00:05:26 UTC (rev 15205)
+++ branches/blender-2.47/source/blender/blenkernel/intern/library.c    
2008-06-12 03:00:24 UTC (rev 15206)
@@ -934,7 +934,7 @@
        }
 
        /* if result > 21, strncpy don't put the final '\0' to name. */
-       if( result > 21 ) name[21]= 0;
+       if( result >= 21 ) name[21]= 0;
 
        result = check_for_dupid( lb, id, name );
        strcpy( id->name+2, name );

Modified: branches/blender-2.47/source/blender/blenlib/intern/util.c
===================================================================
--- branches/blender-2.47/source/blender/blenlib/intern/util.c  2008-06-12 
00:05:26 UTC (rev 15205)
+++ branches/blender-2.47/source/blender/blenlib/intern/util.c  2008-06-12 
03:00:24 UTC (rev 15206)
@@ -879,6 +879,15 @@
        if (relabase) {
                BLI_convertstringcode(dir, relabase);
        }
+       
+       /* Note
+        *   memmove( start, eind, strlen(eind)+1 );
+        * is the same as
+        *   strcpy( start, eind ); 
+        * except strcpy should not be used because there is overlap,
+         * so use memmove's slightly more obscure syntax - Campbell
+        */
+       
 #ifdef WIN32
        if(dir[0]=='.') {       /* happens for example in FILE_MAIN */
           get_default_root(dir);
@@ -892,17 +901,18 @@
                        if (dir[a] == '\\') break;
                        a--;
                }
-               strcpy(dir+a,eind);
+               memmove( dir+a, eind, strlen(eind)+1 );
+               
        }
 
        while ( (start = strstr(dir,"\\.\\")) ){
                eind = start + strlen("\\.\\") - 1;
-               strcpy(start,eind);
+               memmove( start, eind, strlen(eind)+1 );
        }
 
        while ( (start = strstr(dir,"\\\\" )) ){
                eind = start + strlen("\\\\") - 1;
-               strcpy(start,eind);
+               memmove( start, eind, strlen(eind)+1 );
        }
 
        if((a = strlen(dir))){                          /* remove the '\\' at 
the end */
@@ -925,17 +935,17 @@
                        if (dir[a] == '/') break;
                        a--;
                }
-               strcpy(dir+a,eind);
+               memmove( dir+a, eind, strlen(eind)+1 );
        }
 
        while ( (start = strstr(dir,"/./")) ){
                eind = start + strlen("/./") - 1;
-               strcpy(start,eind);
+               memmove( start, eind, strlen(eind)+1 );
        }
 
        while ( (start = strstr(dir,"//" )) ){
                eind = start + strlen("//") - 1;
-               strcpy(start,eind);
+               memmove( start, eind, strlen(eind)+1 );
        }
 
        if( (a = strlen(dir)) ){                                /* remove all 
'/' at the end */

Modified: branches/blender-2.47/source/blender/python/BPY_interface.c
===================================================================
--- branches/blender-2.47/source/blender/python/BPY_interface.c 2008-06-12 
00:05:26 UTC (rev 15205)
+++ branches/blender-2.47/source/blender/python/BPY_interface.c 2008-06-12 
03:00:24 UTC (rev 15206)
@@ -1154,14 +1154,18 @@
                                if( sl->spacetype == SPACE_SCRIPT ) {
                                        SpaceScript *sc = ( SpaceScript * ) sl;
 
-                                       if( sc->script == script ) {
+                                       if( sc->script == script ) {            
                        
                                                sc->script = NULL;
 
-                                               if( sc ==
-                                                   area->spacedata.first ) {
-                                                       scrarea_queue_redraw
-                                                               ( area );
+                                               if( sc == area->spacedata.first 
) {
+                                                       scrarea_queue_redraw( 
area );
                                                }
+                                               
+                                               if (sc->but_refs) {
+                                                       
BPy_Set_DrawButtonsList(sc->but_refs);
+                                                       
BPy_Free_DrawButtonsList();
+                                                       sc->but_refs = NULL;
+                                               }
                                        }
                                }
                        }

Modified: branches/blender-2.47/source/blender/src/editmesh_lib.c
===================================================================
--- branches/blender-2.47/source/blender/src/editmesh_lib.c     2008-06-12 
00:05:26 UTC (rev 15205)
+++ branches/blender-2.47/source/blender/src/editmesh_lib.c     2008-06-12 
03:00:24 UTC (rev 15206)
@@ -2199,18 +2199,25 @@
                if(!selected || ((!efa->h) && (efa->f & SELECT)))
                        totuv += (efa->v4)? 4: 3;
                
-       if(totuv==0)
+       if(totuv==0) {
+               if (do_face_idx_array)
+                       EM_free_index_arrays();
                return NULL;
-       
+       }
        vmap= (UvVertMap*)MEM_callocN(sizeof(*vmap), "UvVertMap");
-       if (!vmap)
+       if (!vmap) {
+               if (do_face_idx_array)
+                       EM_free_index_arrays();
                return NULL;
+       }
 
        vmap->vert= (UvMapVert**)MEM_callocN(sizeof(*vmap->vert)*totverts, 
"UvMapVert*");
        buf= vmap->buf= (UvMapVert*)MEM_callocN(sizeof(*vmap->buf)*totuv, 
"UvMapVert");
 
        if (!vmap->vert || !vmap->buf) {
                free_uv_vert_map(vmap);
+               if (do_face_idx_array)
+                       EM_free_index_arrays();
                return NULL;
        }
 

Modified: branches/blender-2.47/source/blender/src/space.c
===================================================================
--- branches/blender-2.47/source/blender/src/space.c    2008-06-12 00:05:26 UTC 
(rev 15205)
+++ branches/blender-2.47/source/blender/src/space.c    2008-06-12 03:00:24 UTC 
(rev 15206)
@@ -2077,15 +2077,16 @@
                                                        
vgroup_operation_with_menu();
                                        }
                                }
-                               else if((G.qual==LR_SHIFTKEY))
+                               else if((G.qual==LR_SHIFTKEY)) {
                                        if(G.obedit) {
                                                if(G.obedit->type==OB_MESH)
                                                        
select_mesh_group_menu();
                                        } 
                                        else if(ob && (ob->flag & OB_POSEMODE))
                                                pose_select_grouped_menu();
-                                       else
+                                       else if (ob)
                                                select_object_grouped_menu();
+                               }
                                else if((G.obedit==0) && G.qual==LR_ALTKEY) {
                                        if(okee("Clear location")) {
                                                clear_object('g');
@@ -6331,7 +6332,10 @@
                        SpaceNode *snode= (SpaceNode *)sl;
                        snode->nodetree= NULL;
                }
-
+               else if(sl->spacetype==SPACE_SCRIPT) {
+                       SpaceScript *sc = ( SpaceScript * ) sl;
+                       sc->but_refs = NULL;
+               }
                sl= sl->next;
        }
        


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

Reply via email to