[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [28090] trunk/blender/source/blender: bugfix [#21929] linking in groups into a linked in scene is possible and those groups can' t be deleted

Campbell Barton ideasman42 at gmail.com
Thu Apr 8 13:46:52 CEST 2010


Revision: 28090
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=28090
Author:   campbellbarton
Date:     2010-04-08 13:46:52 +0200 (Thu, 08 Apr 2010)

Log Message:
-----------
bugfix [#21929] linking in groups into a linked in scene is possible and those groups can't be deleted
 - Disallow this and report a warning in the console when it happens.
 - File selector operators now report in the global report console.
 - Cleared some warnings.

Modified Paths:
--------------
    trunk/blender/source/blender/blenkernel/intern/action.c
    trunk/blender/source/blender/editors/space_view3d/drawobject.c
    trunk/blender/source/blender/makesrna/intern/rna_animation_api.c
    trunk/blender/source/blender/windowmanager/intern/wm_event_system.c
    trunk/blender/source/blender/windowmanager/intern/wm_operators.c

Modified: trunk/blender/source/blender/blenkernel/intern/action.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/action.c	2010-04-08 11:40:29 UTC (rev 28089)
+++ trunk/blender/source/blender/blenkernel/intern/action.c	2010-04-08 11:46:52 UTC (rev 28090)
@@ -396,7 +396,7 @@
 		return NULL;
 	
 	if(pose->chanhash)
-		return BLI_ghash_lookup(pose->chanhash, name);
+		return BLI_ghash_lookup(pose->chanhash, (void *)name);
 	
 	return BLI_findstring(&((bPose *)pose)->chanbase, name, offsetof(bPoseChannel, name));
 }

Modified: trunk/blender/source/blender/editors/space_view3d/drawobject.c
===================================================================
--- trunk/blender/source/blender/editors/space_view3d/drawobject.c	2010-04-08 11:40:29 UTC (rev 28089)
+++ trunk/blender/source/blender/editors/space_view3d/drawobject.c	2010-04-08 11:46:52 UTC (rev 28090)
@@ -625,14 +625,14 @@
 	}
 
 	if(tot) {
+#if 0
 		bglMats mats; /* ZBuffer depth vars */
 		double ux, uy, uz;
 		float depth;
 
 		if(v3d->zbuf)
 			bgl_get_mats(&mats);
-
-
+#endif
 		if(rv3d->rflag & RV3D_CLIPPING)
 			for(a=0; a<6; a++)
 				glDisable(GL_CLIP_PLANE0+a);

Modified: trunk/blender/source/blender/makesrna/intern/rna_animation_api.c
===================================================================
--- trunk/blender/source/blender/makesrna/intern/rna_animation_api.c	2010-04-08 11:40:29 UTC (rev 28089)
+++ trunk/blender/source/blender/makesrna/intern/rna_animation_api.c	2010-04-08 11:46:52 UTC (rev 28090)
@@ -44,8 +44,8 @@
 
 void RNA_api_keyingset(StructRNA *srna)
 {
-	FunctionRNA *func;
-	PropertyRNA *parm;
+//	FunctionRNA *func;
+//	PropertyRNA *parm;
 }
 
 #endif

Modified: trunk/blender/source/blender/windowmanager/intern/wm_event_system.c
===================================================================
--- trunk/blender/source/blender/windowmanager/intern/wm_event_system.c	2010-04-08 11:40:29 UTC (rev 28089)
+++ trunk/blender/source/blender/windowmanager/intern/wm_event_system.c	2010-04-08 11:46:52 UTC (rev 28090)
@@ -1240,6 +1240,10 @@
 							handler->op->reports->printlevel = RPT_WARNING;
 							uiPupMenuReports(C, handler->op->reports);
 
+							/* XXX - copied from 'wm_operator_finished()' */
+							/* add reports to the global list, otherwise they are not seen */
+							addlisttolist(&CTX_wm_reports(C)->list, &handler->op->reports->list);
+
 							CTX_wm_window_set(C, win_prev);
 						}
 

Modified: trunk/blender/source/blender/windowmanager/intern/wm_operators.c
===================================================================
--- trunk/blender/source/blender/windowmanager/intern/wm_operators.c	2010-04-08 11:40:29 UTC (rev 28089)
+++ trunk/blender/source/blender/windowmanager/intern/wm_operators.c	2010-04-08 11:46:52 UTC (rev 28090)
@@ -1482,6 +1482,7 @@
 	if(RNA_boolean_get(op->ptr, "relative_path")) flag |= FILE_RELPATH;
 	if(RNA_boolean_get(op->ptr, "link")) flag |= FILE_LINK;
 	if(RNA_boolean_get(op->ptr, "instance_groups")) flag |= FILE_GROUP_INSTANCE;
+
 	return flag;
 }
 
@@ -1554,6 +1555,14 @@
 	
 	flag = wm_link_append_flag(op);
 
+	/* sanity checks for flag */
+	if(scene->id.lib && (flag & FILE_GROUP_INSTANCE)) {
+		/* TODO, user never gets this message */
+		BKE_reportf(op->reports, RPT_WARNING, "Scene '%s' is linked, group instance disabled", scene->id.name+2);
+		flag &= ~FILE_GROUP_INSTANCE;
+	}
+
+
 	/* tag everything, all untagged data can be made local
 	 * its also generally useful to know what is new
 	 *





More information about the Bf-blender-cvs mailing list