[Bf-blender-cvs] [15c433d7d56] master: Fix: Missing UI context members after recent refactor
Philipp Oeser
noreply at git.blender.org
Thu Dec 22 22:14:51 CET 2022
Commit: 15c433d7d56414faa69fe923e1831db546c2d4f7
Author: Philipp Oeser
Date: Thu Dec 22 16:14:15 2022 -0500
Branches: master
https://developer.blender.org/rB15c433d7d56414faa69fe923e1831db546c2d4f7
Fix: Missing UI context members after recent refactor
Caused by 7d7e90ca685954409ece00.
When accessing context members from the windowmanager context
(`C->wm.store` which is mainly used for UI related stuff) the above
commit broke behavior in `CTX_store_ptr_lookup` in that it changed and
would **always** return NULL if no type is passed in. The call to
`CTX_store_ptr_lookup` from `ctx_data_get` **always** passes in NULL
though.
Accessing other context members survived since they take a different
code path in `ctx_data_get` and dont use `CTX_store_ptr_lookup`.
Now also return the entry if a NULL type was passed as it was before.
Fixes T103370, T103405, T103417
Differential Revision: https://developer.blender.org/D16840
===================================================================
M source/blender/blenkernel/intern/context.cc
===================================================================
diff --git a/source/blender/blenkernel/intern/context.cc b/source/blender/blenkernel/intern/context.cc
index df18cf1795c..090624a289b 100644
--- a/source/blender/blenkernel/intern/context.cc
+++ b/source/blender/blenkernel/intern/context.cc
@@ -190,7 +190,7 @@ const PointerRNA *CTX_store_ptr_lookup(const bContextStore *store,
{
for (auto entry = store->entries.rbegin(); entry != store->entries.rend(); ++entry) {
if (entry->name == name) {
- if (type && RNA_struct_is_a(entry->ptr.type, type)) {
+ if (!type ||(type && RNA_struct_is_a(entry->ptr.type, type))) {
return &entry->ptr;
}
}
More information about the Bf-blender-cvs
mailing list