forked from bartvdbraak/blender
Fix memory leak /w multi-drag over a single button
This commit is contained in:
parent
857c9e14f7
commit
63f62cd757
@ -1062,6 +1062,7 @@ static void ui_multibut_states_create(uiBut *but_active, uiHandleButtonData *dat
|
|||||||
uiBut *but;
|
uiBut *but;
|
||||||
|
|
||||||
BLI_assert(data->multi_data.init == BUTTON_MULTI_INIT_SETUP);
|
BLI_assert(data->multi_data.init == BUTTON_MULTI_INIT_SETUP);
|
||||||
|
BLI_assert(data->multi_data.has_mbuts);
|
||||||
|
|
||||||
data->multi_data.bs_mbuts = UI_butstore_create(but_active->block);
|
data->multi_data.bs_mbuts = UI_butstore_create(but_active->block);
|
||||||
|
|
||||||
@ -7032,8 +7033,13 @@ static int ui_do_button(bContext *C, uiBlock *block, uiBut *but, const wmEvent *
|
|||||||
/* just to be sure, check we're dragging more hoz then virt */
|
/* just to be sure, check we're dragging more hoz then virt */
|
||||||
abs(event->prevx - event->x) > abs(event->prevy - event->y)))
|
abs(event->prevx - event->x) > abs(event->prevy - event->y)))
|
||||||
{
|
{
|
||||||
ui_multibut_states_create(but, data);
|
if (data->multi_data.has_mbuts) {
|
||||||
data->multi_data.init = BUTTON_MULTI_INIT_ENABLE;
|
ui_multibut_states_create(but, data);
|
||||||
|
data->multi_data.init = BUTTON_MULTI_INIT_ENABLE;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
data->multi_data.init = BUTTON_MULTI_INIT_DISABLE;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user