Fix T81470: Buttons in closed panel visible during search
The buttons hide when the search finishes based on whether they are in the "panel header" group. These buttons were not protected with a new group. This adds a new group for operator button calls, and also makes it so a new group is always created after the header buttons.
This commit is contained in:
parent
7951312d4b
commit
3178dc25f6
Notes:
blender-bot
2023-02-14 00:37:17 +01:00
Referenced by issue #81470, Property Search: Buttons in closed panel sometimes visible during
|
@ -1163,8 +1163,8 @@ static uiBut *uiItemFullO_ptr_ex(uiLayout *layout,
|
|||
icon = ICON_BLANK1;
|
||||
}
|
||||
|
||||
/* create button */
|
||||
UI_block_layout_set_current(block, layout);
|
||||
ui_block_new_button_group(block, 0);
|
||||
|
||||
const int w = ui_text_icon_width(layout, name, icon, 0);
|
||||
|
||||
|
|
|
@ -770,6 +770,8 @@ void UI_panel_header_buttons_end(Panel *panel)
|
|||
|
||||
uiButtonGroup *button_group = block->button_groups.last;
|
||||
|
||||
button_group->flag &= ~UI_BUTTON_GROUP_LOCK;
|
||||
|
||||
/* Repurpose the first "header" button group if it is empty, in case the first button added to
|
||||
* the panel doesn't add a new group (if the button is created directly rather than through an
|
||||
* interface layout call). */
|
||||
|
@ -777,8 +779,12 @@ void UI_panel_header_buttons_end(Panel *panel)
|
|||
BLI_listbase_is_empty(&button_group->buttons)) {
|
||||
button_group->flag &= ~UI_BUTTON_GROUP_PANEL_HEADER;
|
||||
}
|
||||
|
||||
button_group->flag &= ~UI_BUTTON_GROUP_LOCK;
|
||||
else {
|
||||
/* We should still always add a new button group. Although this results in many empty groups,
|
||||
* without it, new buttons not protected with a #ui_block_new_button_group call would end up
|
||||
* in the panel header group. */
|
||||
ui_block_new_button_group(block, 0);
|
||||
}
|
||||
}
|
||||
|
||||
static float panel_region_offset_x_get(const ARegion *region)
|
||||
|
|
Loading…
Reference in New Issue