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:
authorSergey Sharybin <sergey.vfx@gmail.com>2012-01-26 16:48:36 +0400
committerSergey Sharybin <sergey.vfx@gmail.com>2012-01-26 16:48:36 +0400
commit4ae93a48d83a8340493aef0049c43f6180033807 (patch)
tree37bd481e3f255d37813a9804d13cdb95d94beb84 /source/blender/editors/interface
parent83a6b331a75580f9eab24f4fe0b3fd6a1db9fab9 (diff)
Fix #29958: Search Menu keeps hiding first character(s) after long input
- ui_check_but() in ui_textedit_move() is necessary because this function clips but->drawstring to fit text entry widget and it confuses cursor movement stuff. ui_check_but copies editstring to drawstring, so displaystring would be clipped again in correct way. - If the whole drawstring fits widget, no need to set button's offset.
Diffstat (limited to 'source/blender/editors/interface')
-rw-r--r--source/blender/editors/interface/interface_handlers.c2
-rw-r--r--source/blender/editors/interface/interface_widgets.c3
2 files changed, 5 insertions, 0 deletions
diff --git a/source/blender/editors/interface/interface_handlers.c b/source/blender/editors/interface/interface_handlers.c
index 849d3ecc758..cfb375c2558 100644
--- a/source/blender/editors/interface/interface_handlers.c
+++ b/source/blender/editors/interface/interface_handlers.c
@@ -1527,6 +1527,8 @@ static void ui_textedit_move(uiBut *but, uiHandleButtonData *data, int direction
const int pos_prev= but->pos;
const int has_sel= (but->selend - but->selsta) > 0;
+ ui_check_but(but);
+
/* special case, quit selection and set cursor */
if (has_sel && !select) {
if (jump == BUTTON_EDIT_JUMP_ALL) {
diff --git a/source/blender/editors/interface/interface_widgets.c b/source/blender/editors/interface/interface_widgets.c
index 19acfaccaa3..cd0844a38a3 100644
--- a/source/blender/editors/interface/interface_widgets.c
+++ b/source/blender/editors/interface/interface_widgets.c
@@ -952,6 +952,9 @@ static void ui_text_leftclip(uiFontStyle *fstyle, uiBut *but, rcti *rect)
if(but->editstr && but->pos >= 0) {
if(but->ofs > but->pos)
but->ofs= but->pos;
+
+ if(BLF_width(fstyle->uifont_id, but->drawstr) <= okwidth)
+ but->ofs = 0;
}
else but->ofs= 0;