From 514b9f4ec341ebd7ecd82afcc1b636f8ef9fdc91 Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Sun, 7 Sep 2025 20:04:18 +0200 Subject: [PATCH] Fix: Working space menu shows blank entry with custom OCIO config If the name of the scene linear space is different in another config, make sure we update bmain to use that name. Pull Request: https://projects.blender.org/blender/blender/pulls/145884 --- source/blender/imbuf/IMB_colormanagement.hh | 3 --- source/blender/imbuf/intern/colormanagement.cc | 6 ++++-- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/source/blender/imbuf/IMB_colormanagement.hh b/source/blender/imbuf/IMB_colormanagement.hh index 8a0178c1ba3..04876ac80ea 100644 --- a/source/blender/imbuf/IMB_colormanagement.hh +++ b/source/blender/imbuf/IMB_colormanagement.hh @@ -401,9 +401,6 @@ const char *IMB_colormanagement_working_space_get_default(); const char *IMB_colormanagement_working_space_get(); bool IMB_colormanagement_working_space_set_from_name(const char *name); -bool IMB_colormanagement_working_space_set_from_matrix( - const char *name, const blender::float3x3 &scene_linear_to_xyz); - void IMB_colormanagement_working_space_check(Main *bmain, const bool for_undo, const bool have_editable_assets); diff --git a/source/blender/imbuf/intern/colormanagement.cc b/source/blender/imbuf/intern/colormanagement.cc index 25ee2b00981..7466957c1f1 100644 --- a/source/blender/imbuf/intern/colormanagement.cc +++ b/source/blender/imbuf/intern/colormanagement.cc @@ -3177,7 +3177,7 @@ bool IMB_colormanagement_working_space_set_from_name(const char *name) return true; } -bool IMB_colormanagement_working_space_set_from_matrix( +static bool imb_colormanagement_working_space_set_from_matrix( const char *name, const blender::float3x3 &scene_linear_to_xyz) { StringRefNull interop_id; @@ -3239,8 +3239,10 @@ void IMB_colormanagement_working_space_check(Main *bmain, const blender::float3x3 current_scene_linear_to_xyz = blender::colorspace::scene_linear_to_xyz; /* Change the working space to the one from the blend file. */ - const bool working_space_changed = IMB_colormanagement_working_space_set_from_matrix( + const bool working_space_changed = imb_colormanagement_working_space_set_from_matrix( bmain->colorspace.scene_linear_name, bmain->colorspace.scene_linear_to_xyz); + /* Update scene linear name in case it is different for this config. */ + STRNCPY(bmain->colorspace.scene_linear_name, global_role_scene_linear); if (!working_space_changed) { return; }