[Bf-blender-cvs] [70ed39518e6] node-add-asset-menu: Trying to get redrawing to work

Hans Goudey noreply at git.blender.org
Wed Oct 12 19:11:20 CEST 2022


Commit: 70ed39518e600f4478328fc44d9a683812532003
Author: Hans Goudey
Date:   Wed Oct 12 12:11:11 2022 -0500
Branches: node-add-asset-menu
https://developer.blender.org/rB70ed39518e600f4478328fc44d9a683812532003

Trying to get redrawing to work

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

M	source/blender/editors/space_node/add_menu_assets.cc

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

diff --git a/source/blender/editors/space_node/add_menu_assets.cc b/source/blender/editors/space_node/add_menu_assets.cc
index b7155cd1b51..5d4b198eda6 100644
--- a/source/blender/editors/space_node/add_menu_assets.cc
+++ b/source/blender/editors/space_node/add_menu_assets.cc
@@ -15,6 +15,7 @@
 #include "RNA_prototypes.h"
 
 #include "ED_asset.h"
+#include "ED_screen.h"
 
 #include "node_intern.hh"
 
@@ -41,6 +42,21 @@ struct AssetItemTree {
   Map<const bke::AssetCatalogTreeItem *, bke::AssetCatalogPath> full_catalog_per_tree_item;
 };
 
+static void search_listen_fn(const wmRegionListenerParams *params)
+{
+  const wmNotifier *wmn = params->notifier;
+
+  switch (wmn->category) {
+    case NC_ASSET:
+      if (wmn->data == ND_ASSET_LIST_READING) {
+        std::cout << "TAGGING FOR REDRAW\n";
+        ED_region_tag_redraw(params->region);
+        ED_region_tag_refresh_ui(params->region);
+      }
+      break;
+  }
+}
+
 static AssetItemTree build_catalog_tree(const bContext &C, const bNodeTree &node_tree)
 {
   const Main &bmain = *CTX_data_main(&C);
@@ -172,9 +188,12 @@ static void node_add_catalog_assets_draw(const bContext *C, Menu *menu)
 
 static void add_root_catalogs_draw(const bContext *C, Menu *menu)
 {
+  std::cout << __func__ << '\n';
   bScreen &screen = *CTX_wm_screen(C);
   SpaceNode &snode = *CTX_wm_space_node(C);
   const bNodeTree *edit_tree = snode.edittree;
+  ARegion *region = CTX_wm_region(C);
+  region->type->listener = search_listen_fn;
 
   snode.runtime->assets_for_menu.reset();
   snode.runtime->assets_for_menu = std::make_shared<AssetItemTree>(



More information about the Bf-blender-cvs mailing list