[Bf-blender-cvs] [965205d] master: Fix two bugs with searchbox UI items.

Bastien Montagne noreply at git.blender.org
Wed Sep 10 12:58:12 CEST 2014


Commit: 965205d0e2c08aa005de0451dfda7380b9bc6221
Author: Bastien Montagne
Date:   Wed Sep 10 12:53:22 2014 +0200
Branches: master
https://developer.blender.org/rB965205d0e2c08aa005de0451dfda7380b9bc6221

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!

===================================================================

M	source/blender/editors/interface/interface_handlers.c
M	source/blender/editors/interface/interface_regions.c

===================================================================

diff --git a/source/blender/editors/interface/interface_handlers.c b/source/blender/editors/interface/interface_handlers.c
index 9818a59..d3c8897 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 291a9eb..9b450b8 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;
 	}




More information about the Bf-blender-cvs mailing list