Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBastien Montagne <montagne29@wanadoo.fr>2014-09-10 14:53:22 +0400
committerBastien Montagne <montagne29@wanadoo.fr>2014-09-10 14:53:22 +0400
commit965205d0e2c08aa005de0451dfda7380b9bc6221 (patch)
treea3b9640d6aa7483c08667204f17c64b1db3e5db4 /source/blender/editors
parent1811ffff5d8cad4fea0f34fd7ee86e8726536137 (diff)
Fix two bugs with searchbox UI items.
First one, reported by Sergey, was searchbox not closing when validating it (enter or LMB click) without any active item (we need to enable escapecancel here, to close menu too). Second one was SEARCH_MENU_UNLINK variant not unlinking at validation when no active item. Thanks a bunch to Campbell for help here!
Diffstat (limited to 'source/blender/editors')
-rw-r--r--source/blender/editors/interface/interface_handlers.c3
-rw-r--r--source/blender/editors/interface/interface_regions.c6
2 files changed, 9 insertions, 0 deletions
diff --git a/source/blender/editors/interface/interface_handlers.c b/source/blender/editors/interface/interface_handlers.c
index 9818a593174..d3c889713fb 100644
--- a/source/blender/editors/interface/interface_handlers.c
+++ b/source/blender/editors/interface/interface_handlers.c
@@ -2491,6 +2491,9 @@ static void ui_textedit_end(bContext *C, uiBut *but, uiHandleButtonData *data)
(ui_searchbox_find_index(data->searchbox, but->editstr) == -1))
{
data->cancel = true;
+
+ /* ensure menu (popup) too is closed! */
+ data->escapecancel = true;
}
}
diff --git a/source/blender/editors/interface/interface_regions.c b/source/blender/editors/interface/interface_regions.c
index 291a9eb984f..9b450b8fdf4 100644
--- a/source/blender/editors/interface/interface_regions.c
+++ b/source/blender/editors/interface/interface_regions.c
@@ -888,6 +888,12 @@ bool ui_searchbox_apply(uiBut *but, ARegion *ar)
return true;
}
+ else if (but->type == SEARCH_MENU_UNLINK) {
+ /* It is valid for _UNLINK flavor to have no active element (it's a valid way to unlink). */
+ but->editstr[0] = '\0';
+
+ return true;
+ }
else {
return false;
}