From 9f759ceeaef665ba88c44638a4a74059faf862ce Mon Sep 17 00:00:00 2001
From: Ryan Inch <mythologylover75@gmail.com>
Date: Wed, 15 Apr 2020 02:26:44 -0400
Subject: [PATCH] Collection Manager: Fix regression. Task: T69577

Fix regression in invert function introduced when
refactoring operators.
---
 object_collection_manager/__init__.py       |  2 +-
 object_collection_manager/operator_utils.py | 14 ++++++++++++--
 2 files changed, 13 insertions(+), 3 deletions(-)

diff --git a/object_collection_manager/__init__.py b/object_collection_manager/__init__.py
index 36e4f0336..0f2443f2c 100644
--- a/object_collection_manager/__init__.py
+++ b/object_collection_manager/__init__.py
@@ -22,7 +22,7 @@ bl_info = {
     "name": "Collection Manager",
     "description": "Manage collections and their objects",
     "author": "Ryan Inch",
-    "version": (2,7,5),
+    "version": (2,7,6),
     "blender": (2, 80, 0),
     "location": "View3D - Object Mode (Shortcut - M)",
     "warning": '',  # used for warning icon and text in addons panel
diff --git a/object_collection_manager/operator_utils.py b/object_collection_manager/operator_utils.py
index b8fb4e739..4daed8840 100644
--- a/object_collection_manager/operator_utils.py
+++ b/object_collection_manager/operator_utils.py
@@ -206,8 +206,18 @@ def activate_all_rtos(view_layer, rto):
 
 
 def invert_rtos(rto):
-    for x, item in enumerate(layer_collections.values()):
-        set_rto(item["ptr"], rto, not get_rto(item["ptr"], rto))
+    if rto == "exclude":
+        orig_values = []
+
+        for item in layer_collections.values():
+            orig_values.append(get_rto(item["ptr"], rto))
+
+        for x, item in enumerate(layer_collections.values()):
+            set_rto(item["ptr"], rto, not orig_values[x])
+
+    else:
+        for item in layer_collections.values():
+            set_rto(item["ptr"], rto, not get_rto(item["ptr"], rto))
 
 
 def copy_rtos(rto):
-- 
GitLab