IDManagement: fix missing WM name validation when using "keep current WM list" code path
The blendfile_liblink and blendfile_io python tests in debug fired an assert that WMWinMan object was in Main database, but not in the ID name map. This was caused by wm_window_match_do going into case 3 there: the new WM list is completely empty, the old list is not empty, and it was directly using the old/current list (via wm_window_match_keep_current_wm function), without actually registering/validating the objects in it through the name map. Reviewed By: Bastien Montagne Differential Revision: https://developer.blender.org/D15787
This commit is contained in:
parent
60420f6ea4
commit
a1c8a17b4d
|
@ -296,6 +296,12 @@ static void wm_window_match_keep_current_wm(const bContext *C,
|
|||
}
|
||||
}
|
||||
|
||||
/* we'll be using the current wm list directly; make sure
|
||||
* the names are validated and in the name map. */
|
||||
LISTBASE_FOREACH (wmWindowManager *, wm_item, current_wm_list) {
|
||||
BKE_main_namemap_get_name(bmain, &wm_item->id, wm_item->id.name + 2);
|
||||
}
|
||||
|
||||
*r_new_wm_list = *current_wm_list;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue