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;
        }

_______________________________________________
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to