[Bf-blender-cvs] [508ba523e92] temp-asset-browser-catalogs-ui: Attempt to fix build error on macOS buildbot

Julian Eisel noreply at git.blender.org
Thu Sep 9 19:16:17 CEST 2021


Commit: 508ba523e928929074f7a2fa6464f8696193f878
Author: Julian Eisel
Date:   Thu Sep 9 19:14:45 2021 +0200
Branches: temp-asset-browser-catalogs-ui
https://developer.blender.org/rB508ba523e928929074f7a2fa6464f8696193f878

Attempt to fix build error on macOS buildbot

Couldn't recreate this on my macOS machine even though it uses the same minimum
deployment target version of 10.13.

===================================================================

M	source/blender/editors/include/UI_interface.hh
M	source/blender/editors/interface/interface_view.cc
M	source/blender/editors/space_file/asset_catalog_tree_view.cc

===================================================================

diff --git a/source/blender/editors/include/UI_interface.hh b/source/blender/editors/include/UI_interface.hh
index 07a0a555f81..bdd743b5d8a 100644
--- a/source/blender/editors/include/UI_interface.hh
+++ b/source/blender/editors/include/UI_interface.hh
@@ -29,7 +29,7 @@ namespace blender::ui {
 class uiAbstractTreeView;
 }
 
-blender::ui::uiAbstractTreeView &UI_block_add_view(
+blender::ui::uiAbstractTreeView *UI_block_add_view(
     uiBlock *block,
     blender::StringRef idname,
     std::unique_ptr<blender::ui::uiAbstractTreeView> tree_view);
diff --git a/source/blender/editors/interface/interface_view.cc b/source/blender/editors/interface/interface_view.cc
index 3877eea6424..c7bf34d2098 100644
--- a/source/blender/editors/interface/interface_view.cc
+++ b/source/blender/editors/interface/interface_view.cc
@@ -38,10 +38,11 @@ struct uiViewLink : public Link {
   using TreeViewPtr = std::unique_ptr<uiAbstractTreeView>;
 
   std::string idname;
+  /* Note: Can't use std::get() on this until minimum macOS deployment target is 10.14. */
   std::variant<TreeViewPtr> view;
 };
 
-uiAbstractTreeView &UI_block_add_view(uiBlock *block,
+uiAbstractTreeView *UI_block_add_view(uiBlock *block,
                                       StringRef idname,
                                       std::unique_ptr<uiAbstractTreeView> tree_view)
 {
@@ -51,7 +52,8 @@ uiAbstractTreeView &UI_block_add_view(uiBlock *block,
   view_link->view = std::move(tree_view);
   view_link->idname = idname;
 
-  return *std::get<uiViewLink::TreeViewPtr>(view_link->view);
+  auto view = std::get_if<uiViewLink::TreeViewPtr>(&view_link->view);
+  return view ? view->get() : nullptr;
 }
 
 void ui_block_free_views(uiBlock *block)
diff --git a/source/blender/editors/space_file/asset_catalog_tree_view.cc b/source/blender/editors/space_file/asset_catalog_tree_view.cc
index 0c68f96cbe7..388f9b4208a 100644
--- a/source/blender/editors/space_file/asset_catalog_tree_view.cc
+++ b/source/blender/editors/space_file/asset_catalog_tree_view.cc
@@ -110,9 +110,9 @@ void file_draw_asset_catalog_tree_view_in_layout(::AssetLibrary *asset_library_c
   bke::AssetLibrary *asset_library = reinterpret_cast<blender::bke::AssetLibrary *>(
       asset_library_c);
 
-  uiAbstractTreeView &tree_view = UI_block_add_view(
+  uiAbstractTreeView *tree_view = UI_block_add_view(
       block, "asset catalog tree view", std::make_unique<AssetCatalogTreeView>(asset_library));
 
-  tree_view.build_tree();
-  tree_view.build_layout_from_tree(uiTreeViewLayoutBuilder(*block));
+  tree_view->build_tree();
+  tree_view->build_layout_from_tree(uiTreeViewLayoutBuilder(*block));
 }



More information about the Bf-blender-cvs mailing list