Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPhilipp Oeser <info@graphics-engineer.com>2020-05-15 14:47:04 +0300
committerPhilipp Oeser <info@graphics-engineer.com>2020-05-15 14:47:04 +0300
commit03659c2cf9b38eef65b7d1dcd4263ef8a5602bde (patch)
tree05f06a22dbf7c2beeb0dca35f9a865f11904416a
parenta5d394fad23280687880aee0082797cf8dd1cdd5 (diff)
parent0a32f6c8686c6a14a052f5b254655b3b69a581e3 (diff)
Merge branch 'blender-v2.83-release'
-rw-r--r--source/blender/editors/object/object_collection.c16
-rw-r--r--source/blender/editors/space_outliner/outliner_dragdrop.c4
-rw-r--r--source/blender/makesrna/intern/rna_collection.c17
3 files changed, 37 insertions, 0 deletions
diff --git a/source/blender/editors/object/object_collection.c b/source/blender/editors/object/object_collection.c
index b3155ab3ade..74ba94fbf4c 100644
--- a/source/blender/editors/object/object_collection.c
+++ b/source/blender/editors/object/object_collection.c
@@ -481,6 +481,22 @@ static int collection_link_exec(bContext *C, wmOperator *op)
return OPERATOR_FINISHED;
}
+ /* Currently this should not be allowed (might be supported in the future though...). */
+ if (ID_IS_OVERRIDE_LIBRARY(&collection->id)) {
+ BKE_report(op->reports,
+ RPT_ERROR,
+ "Could not add the collection because it is overridden.");
+ return OPERATOR_CANCELLED;
+ }
+ /* Linked collections are already checked for by using RNA_collection_local_itemf
+ * but operator can be called without invoke */
+ if (ID_IS_LINKED(&collection->id)) {
+ BKE_report(op->reports,
+ RPT_ERROR,
+ "Could not add the collection because it is linked.");
+ return OPERATOR_CANCELLED;
+ }
+
/* Adding object to collection which is used as dupli-collection for self is bad idea.
*
* It is also bad idea to add object to collection which is in collection which
diff --git a/source/blender/editors/space_outliner/outliner_dragdrop.c b/source/blender/editors/space_outliner/outliner_dragdrop.c
index 44e5347dcad..c2c9f3a5bfb 100644
--- a/source/blender/editors/space_outliner/outliner_dragdrop.c
+++ b/source/blender/editors/space_outliner/outliner_dragdrop.c
@@ -675,6 +675,10 @@ static bool collection_drop_init(bContext *C,
if (ID_IS_LINKED(to_collection)) {
return false;
}
+ /* Currently this should not be allowed (might be supported in the future though...). */
+ if (ID_IS_OVERRIDE_LIBRARY(to_collection)) {
+ return false;
+ }
/* Get drag datablocks. */
if (drag->type != WM_DRAG_ID) {
diff --git a/source/blender/makesrna/intern/rna_collection.c b/source/blender/makesrna/intern/rna_collection.c
index 709be0cf842..fe64ead3f89 100644
--- a/source/blender/makesrna/intern/rna_collection.c
+++ b/source/blender/makesrna/intern/rna_collection.c
@@ -82,6 +82,23 @@ static void rna_Collection_objects_link(Collection *collection,
ReportList *reports,
Object *object)
{
+ /* Currently this should not be allowed (might be supported in the future though...). */
+ if (ID_IS_OVERRIDE_LIBRARY(&collection->id)) {
+ BKE_reportf(reports,
+ RPT_ERROR,
+ "Could not link the object '%s' because the collection '%s' is overridden.",
+ object->id.name + 2,
+ collection->id.name + 2);
+ return;
+ }
+ if (ID_IS_LINKED(&collection->id)) {
+ BKE_reportf(reports,
+ RPT_ERROR,
+ "Could not link the object '%s' because the collection '%s' is linked.",
+ object->id.name + 2,
+ collection->id.name + 2);
+ return;
+ }
if (!BKE_collection_object_add(bmain, collection, object)) {
BKE_reportf(reports,
RPT_ERROR,