diff options
author | Julian Eisel <julian@blender.org> | 2020-09-28 13:04:39 +0300 |
---|---|---|
committer | Julian Eisel <julian@blender.org> | 2020-09-28 13:06:59 +0300 |
commit | f7655dd322dd64d2a007857d2aff7d76bd86b60a (patch) | |
tree | 1e614ee46f3ac1b55df31d38e3b496724e7689c8 /source/blender/editors/interface | |
parent | 825a32439aae577afd424fba48094cb8f92d2541 (diff) |
UI Code Quality: Clear layout pointer on layout destruction
The layout pointer is quite ugly, but currently needed to work around
design issues. At least it should be cleared to avoid use-after-free.
Diffstat (limited to 'source/blender/editors/interface')
-rw-r--r-- | source/blender/editors/interface/interface_layout.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/source/blender/editors/interface/interface_layout.c b/source/blender/editors/interface/interface_layout.c index 23f29760a5e..ac1b9a972f0 100644 --- a/source/blender/editors/interface/interface_layout.c +++ b/source/blender/editors/interface/interface_layout.c @@ -5586,6 +5586,9 @@ static void ui_layout_free(uiLayout *layout) { LISTBASE_FOREACH_MUTABLE (uiItem *, item, &layout->items) { if (item->type == ITEM_BUTTON) { + uiButtonItem *bitem = (uiButtonItem *)item; + + bitem->but->layout = NULL; MEM_freeN(item); } else { |