From 57712d7b1813c0531ded7ae141f9676db065f243 Mon Sep 17 00:00:00 2001 From: Jacques Lucke Date: Tue, 28 Mar 2023 13:13:30 +0200 Subject: [PATCH 1/3] Fix #106177: modal operator does not work from Node menu This was an issue with the `operator_context`. It's a bit confusing because it looks like every `uiLayout` has its own, but in `uiLayoutSetOperatorContext` you can see that the `operator_context` is always set on the root layout for some reason. The fix is to set `INVOKE_REGION_WIN` as the operator context after it has been set to something else (I found this to be the default by printing the operator context before it was changed). Pull Request: https://projects.blender.org/blender/blender/pulls/106213 --- scripts/startup/bl_ui/space_node.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/scripts/startup/bl_ui/space_node.py b/scripts/startup/bl_ui/space_node.py index 7c932523046..9a4884a54cd 100644 --- a/scripts/startup/bl_ui/space_node.py +++ b/scripts/startup/bl_ui/space_node.py @@ -318,9 +318,9 @@ class NODE_MT_node(Menu): layout.separator() layout.operator("node.clipboard_copy", text="Copy") - row = layout.row() - row.operator_context = 'EXEC_DEFAULT' - row.operator("node.clipboard_paste", text="Paste") + layout.operator_context = 'EXEC_DEFAULT' + layout.operator("node.clipboard_paste", text="Paste") + layout.operator_context = 'INVOKE_REGION_WIN' layout.operator("node.duplicate_move") layout.operator("node.duplicate_move_linked") layout.operator("node.delete") From 3d49d738b754d65be9bf21983e58a23ec8ac1c48 Mon Sep 17 00:00:00 2001 From: Bastien Montagne Date: Tue, 28 Mar 2023 13:20:15 +0200 Subject: [PATCH 2/3] Fix references to some nodegroups from new essentials staying around. Previous fix/hack a60f65150267 made it so that all 'Fake User' linked IDs are considered as directly linked, so that some IDs (like linked Text) references are not lost on file save becaus they are not effectively used. However, this created unwanted references to all linked assets data, because an asset always has its fake user set. This ended up keeping lots of references to sub-assets when appending from the new Essentials node groups. NOTE: This is adding another hack to the collection, the whole handling of 'which unused linked data reference to keep on file save' needs to be reworked for Blender 3.6. --- source/blender/blenloader/intern/writefile.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/blender/blenloader/intern/writefile.cc b/source/blender/blenloader/intern/writefile.cc index eb4975bebfe..8d38457cc01 100644 --- a/source/blender/blenloader/intern/writefile.cc +++ b/source/blender/blenloader/intern/writefile.cc @@ -1141,7 +1141,7 @@ static bool write_file_handle(Main *mainvar, * asap afterward. */ id_lib_extern(id_iter); } - else if (ID_FAKE_USERS(id_iter) > 0) { + else if (ID_FAKE_USERS(id_iter) > 0 && id_iter->asset_data == nullptr) { /* Even though fake user is not directly editable by the user on linked data, it is a * common 'work-around' to set it in library files on data-blocks that need to be linked * but typically do not have an actual real user (e.g. texts, etc.). From aa7293f555b11a49b4ca9bad6a5c2d3ac3d8f18a Mon Sep 17 00:00:00 2001 From: Thomas Dinges Date: Tue, 28 Mar 2023 13:40:39 +0200 Subject: [PATCH 3/3] Update license doc for OIIO lib update. --- release/license/THIRD-PARTY-LICENSES.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/release/license/THIRD-PARTY-LICENSES.txt b/release/license/THIRD-PARTY-LICENSES.txt index f52379918e0..c3ff14f7b45 100644 --- a/release/license/THIRD-PARTY-LICENSES.txt +++ b/release/license/THIRD-PARTY-LICENSES.txt @@ -398,7 +398,7 @@ Copyright Contributors to the OpenColorIO Project. ** OpenEXR; version 3.1.5 -- https://github.com/AcademySoftwareFoundation/openexr Copyright Contributors to the OpenEXR Project. All rights reserved. -** OpenImageIO; version 2.4.6.0 -- http://www.openimageio.org +** OpenImageIO; version 2.4.9.0 -- http://www.openimageio.org Copyright (c) 2008-present by Contributors to the OpenImageIO project. All Rights Reserved. ** Pystring; version 1.1.3 -- https://github.com/imageworks/pystring