diff options
-rw-r--r-- | source/blender/editors/interface/interface_handlers.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/source/blender/editors/interface/interface_handlers.c b/source/blender/editors/interface/interface_handlers.c index 404de2cd085..d1294dcfed2 100644 --- a/source/blender/editors/interface/interface_handlers.c +++ b/source/blender/editors/interface/interface_handlers.c @@ -7969,7 +7969,11 @@ static int ui_handle_button_event(bContext *C, const wmEvent *event, uiBut *but) data->cancel = false; button_activate_state(C, but, BUTTON_STATE_EXIT); retval = WM_UI_HANDLER_BREAK; - block->handle->menuretval = UI_RETURN_OK; + /* Cancel because this `but` handles all events and we don't want + * the parent button's update function to do anything. + * + * Causes issues with buttons defined by #uiItemFullR_with_popover. */ + block->handle->menuretval = UI_RETURN_CANCEL; } else if (ui_but_is_editable_as_text(but)) { ui_handle_button_activate(C, ar, but, BUTTON_ACTIVATE_TEXT_EDITING); |