[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [59314] trunk/blender/source/blender/ editors/transform: fix [#36517] You can edit a texture space (Shift-T) of a linked mesh

Campbell Barton ideasman42 at gmail.com
Tue Aug 20 08:04:47 CEST 2013


Revision: 59314
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=59314
Author:   campbellbarton
Date:     2013-08-20 06:04:46 +0000 (Tue, 20 Aug 2013)
Log Message:
-----------
fix [#36517] You can edit a texture space (Shift-T) of a linked mesh

also enable other errors to show up which were previously commented.

Modified Paths:
--------------
    trunk/blender/source/blender/editors/transform/transform.h
    trunk/blender/source/blender/editors/transform/transform_conversions.c
    trunk/blender/source/blender/editors/transform/transform_generics.c

Modified: trunk/blender/source/blender/editors/transform/transform.h
===================================================================
--- trunk/blender/source/blender/editors/transform/transform.h	2013-08-19 22:46:32 UTC (rev 59313)
+++ trunk/blender/source/blender/editors/transform/transform.h	2013-08-20 06:04:46 UTC (rev 59314)
@@ -350,6 +350,7 @@
 	struct ToolSettings *settings;
 	struct wmTimer *animtimer;
 	struct wmKeyMap *keymap;  /* so we can do lookups for header text */
+	struct ReportList *reports;  /* assign from the operator, or can be NULL */
 	int         mval[2];        /* current mouse position               */
 	float       zfac;           /* use for 3d view */
 	struct Object *obedit;

Modified: trunk/blender/source/blender/editors/transform/transform_conversions.c
===================================================================
--- trunk/blender/source/blender/editors/transform/transform_conversions.c	2013-08-19 22:46:32 UTC (rev 59313)
+++ trunk/blender/source/blender/editors/transform/transform_conversions.c	2013-08-20 06:04:46 UTC (rev 59314)
@@ -275,10 +275,17 @@
 
 	id = ob->data;
 	if (id == NULL || !ELEM3(GS(id->name), ID_ME, ID_CU, ID_MB)) {
+		BKE_report(t->reports, RPT_ERROR, "Unsupported object type for text-space transform");
 		t->total = 0;
 		return;
 	}
 
+	if (BKE_object_obdata_is_libdata(ob)) {
+		BKE_report(t->reports, RPT_ERROR, "Linked data can't text-space transform");
+		t->total = 0;
+		return;
+	}
+
 	t->total = 1;
 	td = t->data = MEM_callocN(sizeof(TransData), "TransTexspace");
 	td->ext = t->ext = MEM_callocN(sizeof(TransDataExtension), "TransTexspace");
@@ -990,8 +997,7 @@
 
 	if (arm->flag & ARM_RESTPOS) {
 		if (ELEM(t->mode, TFM_DUMMY, TFM_BONESIZE) == 0) {
-			// XXX use transform operator reports
-			// BKE_report(op->reports, RPT_ERROR, "Cannot select linked when sync selection is enabled");
+			BKE_report(t->reports, RPT_ERROR, "Cannot select linked when sync selection is enabled");
 			return;
 		}
 	}
@@ -1031,8 +1037,7 @@
 	}
 
 	if (td != (t->data + t->total)) {
-		// XXX use transform operator reports
-		// BKE_report(op->reports, RPT_DEBUG, "Bone selection count error");
+		BKE_report(t->reports, RPT_DEBUG, "Bone selection count error");
 	}
 
 	/* initialize initial auto=ik chainlen's? */

Modified: trunk/blender/source/blender/editors/transform/transform_generics.c
===================================================================
--- trunk/blender/source/blender/editors/transform/transform_generics.c	2013-08-19 22:46:32 UTC (rev 59313)
+++ trunk/blender/source/blender/editors/transform/transform_generics.c	2013-08-20 06:04:46 UTC (rev 59314)
@@ -1063,6 +1063,7 @@
 	t->ar = ar;
 	t->obedit = obedit;
 	t->settings = ts;
+	t->reports = op ? op->reports : NULL;
 
 	if (obedit) {
 		copy_m3_m4(t->obedit_mat, obedit->obmat);




More information about the Bf-blender-cvs mailing list