Revision: 60764 http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=60764 Author: campbellbarton Date: 2013-10-15 00:24:53 +0000 (Tue, 15 Oct 2013) Log Message: ----------- fix [#37078] Search props don't react on click at the right end (where 'X' is if field not empty)
Modified Paths: -------------- trunk/blender/source/blender/editors/interface/interface_handlers.c trunk/blender/source/blender/editors/interface/interface_intern.h trunk/blender/source/blender/editors/interface/interface_widgets.c Modified: trunk/blender/source/blender/editors/interface/interface_handlers.c =================================================================== --- trunk/blender/source/blender/editors/interface/interface_handlers.c 2013-10-14 23:08:45 UTC (rev 60763) +++ trunk/blender/source/blender/editors/interface/interface_handlers.c 2013-10-15 00:24:53 UTC (rev 60764) @@ -2648,7 +2648,9 @@ static int ui_do_but_SEARCH_UNLINK(bContext *C, uiBlock *block, uiBut *but, uiHandleButtonData *data, const wmEvent *event) { /* unlink icon is on right */ - if (ELEM4(event->type, LEFTMOUSE, EVT_BUT_OPEN, PADENTER, RETKEY) && event->val == KM_PRESS) { + if (ELEM4(event->type, LEFTMOUSE, EVT_BUT_OPEN, PADENTER, RETKEY) && event->val == KM_PRESS && + ui_is_but_search_unlink_visible(but)) + { ARegion *ar = data->region; rcti rect; int x = event->x, y = event->y; @@ -5761,6 +5763,13 @@ return true; } +bool ui_is_but_search_unlink_visible(uiBut *but) +{ + BLI_assert(but->type == SEARCH_MENU_UNLINK); + return ((but->editstr == NULL) && + (but->drawstr[0] != '\0')); +} + uiBut *ui_but_find_mouse_over(ARegion *ar, int x, int y) { uiBlock *block; Modified: trunk/blender/source/blender/editors/interface/interface_intern.h =================================================================== --- trunk/blender/source/blender/editors/interface/interface_intern.h 2013-10-14 23:08:45 UTC (rev 60763) +++ trunk/blender/source/blender/editors/interface/interface_intern.h 2013-10-15 00:24:53 UTC (rev 60764) @@ -402,6 +402,7 @@ extern bool ui_is_but_rna_valid(uiBut *but); extern bool ui_is_but_utf8(uiBut *but); extern bool ui_is_but_interactive(uiBut *but); +extern bool ui_is_but_search_unlink_visible(uiBut *but); extern int ui_is_but_push_ex(uiBut *but, double *value); extern int ui_is_but_push(uiBut *but); Modified: trunk/blender/source/blender/editors/interface/interface_widgets.c =================================================================== --- trunk/blender/source/blender/editors/interface/interface_widgets.c 2013-10-14 23:08:45 UTC (rev 60763) +++ trunk/blender/source/blender/editors/interface/interface_widgets.c 2013-10-15 00:24:53 UTC (rev 60764) @@ -961,7 +961,7 @@ if (but->flag & UI_HAS_ICON) okwidth -= UI_DPI_ICON_SIZE; - if (but->type == SEARCH_MENU_UNLINK && !but->editstr) + if ((but->type == SEARCH_MENU_UNLINK) && ui_is_but_search_unlink_visible(but)) okwidth -= BLI_rcti_size_y(rect); okwidth = max_ii(okwidth, 0); @@ -1325,7 +1325,7 @@ } /* unlink icon for this button type */ - if (but->type == SEARCH_MENU_UNLINK && !but->editstr && but->drawstr[0]) { + if ((but->type == SEARCH_MENU_UNLINK) && ui_is_but_search_unlink_visible(but)) { rcti temp = *rect; temp.xmin = temp.xmax - (BLI_rcti_size_y(rect) * 1.08f); _______________________________________________ Bf-blender-cvs mailing list Bf-blender-cvs@blender.org http://lists.blender.org/mailman/listinfo/bf-blender-cvs