[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [15206] branches/blender-2.47/source/ blender: branches/blender-2.47

Diego Borghetti bdiego at gmail.com
Thu Jun 12 05:01:14 CEST 2008


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;
 	}
 	





More information about the Bf-blender-cvs mailing list