From c0fb8375f664235d306bb6f99c0322579887d8e8 Mon Sep 17 00:00:00 2001 From: Julian Eisel Date: Mon, 28 Jun 2021 19:41:28 +0200 Subject: Fix T89515: Clicking on Favorites in File Browser will rename them Likely uncovered by 6c97c7f767c9, the actual mistake would be from 6942dd9f4900. The hacks to display text buttons for renaming in UI-Lists used the emboss of the text button for handling logic. It relied on the emboss `NONE` but we also introduced `NONE_OR_STATUS` with 6942dd9f4900. Both values need to be treated equally for the logic of this hack to work. The change in `interface_layout.c` is actually not needed for this exact issue, but it's the correct thing to do. There may actually be more cases where `NONE` and `NONE_OR_STATUS` need to be treated equally. Something to be checked still. --- source/blender/editors/interface/interface_handlers.c | 2 +- source/blender/editors/interface/interface_layout.c | 2 +- source/blender/editors/interface/interface_query.c | 3 ++- 3 files changed, 4 insertions(+), 3 deletions(-) (limited to 'source/blender') diff --git a/source/blender/editors/interface/interface_handlers.c b/source/blender/editors/interface/interface_handlers.c index 062e46e8ec2..542a226ee68 100644 --- a/source/blender/editors/interface/interface_handlers.c +++ b/source/blender/editors/interface/interface_handlers.c @@ -4552,7 +4552,7 @@ static int ui_do_but_TEX( if (ELEM(event->type, EVT_PADENTER, EVT_RETKEY) && (!UI_but_is_utf8(but))) { /* pass - allow filesel, enter to execute */ } - else if (but->emboss == UI_EMBOSS_NONE && !event->ctrl) { + else if (ELEM(but->emboss, UI_EMBOSS_NONE, UI_EMBOSS_NONE_OR_STATUS) && !event->ctrl) { /* pass */ } else { diff --git a/source/blender/editors/interface/interface_layout.c b/source/blender/editors/interface/interface_layout.c index a00a7e19b01..cf3abc9be4a 100644 --- a/source/blender/editors/interface/interface_layout.c +++ b/source/blender/editors/interface/interface_layout.c @@ -2355,7 +2355,7 @@ void uiItemFullR(uiLayout *layout, /* Mark non-embossed textfields inside a listbox. */ if (but && (block->flag & UI_BLOCK_LIST_ITEM) && (but->type == UI_BTYPE_TEXT) && - (but->emboss & UI_EMBOSS_NONE)) { + ELEM(but->emboss, UI_EMBOSS_NONE, UI_EMBOSS_NONE_OR_STATUS)) { UI_but_flag_enable(but, UI_BUT_LIST_ITEM); } diff --git a/source/blender/editors/interface/interface_query.c b/source/blender/editors/interface/interface_query.c index 95218e2e7e3..7d561aa1c71 100644 --- a/source/blender/editors/interface/interface_query.c +++ b/source/blender/editors/interface/interface_query.c @@ -91,7 +91,8 @@ bool ui_but_is_interactive(const uiBut *but, const bool labeledit) if (but->flag & UI_SCROLLED) { return false; } - if ((but->type == UI_BTYPE_TEXT) && (but->emboss == UI_EMBOSS_NONE) && !labeledit) { + if ((but->type == UI_BTYPE_TEXT) && + (ELEM(but->emboss, UI_EMBOSS_NONE, UI_EMBOSS_NONE_OR_STATUS)) && !labeledit) { return false; } if ((but->type == UI_BTYPE_LISTROW) && labeledit) { -- cgit v1.2.3