diff options
author | Campbell Barton <ideasman42@gmail.com> | 2021-12-02 07:46:14 +0300 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2021-12-02 07:53:41 +0300 |
commit | 8f69c914080a7fe9555f7126362f08c368a8069d (patch) | |
tree | a6677403e53ee2a6334e3a3dae9a5bcd8baff6e7 /source/blender/editors/include/UI_interface.h | |
parent | 0de1d2e84efe5fb085847328e891fbf0f3f17b4f (diff) |
Fix T93410: Crash hiding a region from Python used by a popover
Close all active buttons when hiding a region as this can be called
from Python a popover is open from that region.
Failure to do this causes the popover to read from the freed button.
Also rename UI_screen_free_active_but to
UI_screen_free_active_but_highlight since it only frees highlighted
buttons.
Diffstat (limited to 'source/blender/editors/include/UI_interface.h')
-rw-r--r-- | source/blender/editors/include/UI_interface.h | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/source/blender/editors/include/UI_interface.h b/source/blender/editors/include/UI_interface.h index 1dbb486ad72..023a1a64daf 100644 --- a/source/blender/editors/include/UI_interface.h +++ b/source/blender/editors/include/UI_interface.h @@ -735,7 +735,9 @@ void UI_block_set_search_only(uiBlock *block, bool search_only); void UI_block_free(const struct bContext *C, uiBlock *block); void UI_blocklist_free(const struct bContext *C, struct ARegion *region); void UI_blocklist_free_inactive(const struct bContext *C, struct ARegion *region); -void UI_screen_free_active_but(const struct bContext *C, struct bScreen *screen); + +void UI_screen_free_active_but_highlight(const struct bContext *C, struct bScreen *screen); +void UI_region_free_active_but_all(struct bContext *context, struct ARegion *region); void UI_block_region_set(uiBlock *block, struct ARegion *region); |