[Bf-blender-cvs] [f7655dd322d] master: UI Code Quality: Clear layout pointer on layout destruction
Julian Eisel
noreply at git.blender.org
Mon Sep 28 12:07:21 CEST 2020
Commit: f7655dd322dd64d2a007857d2aff7d76bd86b60a
Author: Julian Eisel
Date: Mon Sep 28 12:04:39 2020 +0200
Branches: master
https://developer.blender.org/rBf7655dd322dd64d2a007857d2aff7d76bd86b60a
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.
===================================================================
M source/blender/editors/interface/interface_layout.c
===================================================================
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 {
More information about the Bf-blender-cvs
mailing list