Revision: 43724
          
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=43724
Author:   nazgul
Date:     2012-01-26 12:48:36 +0000 (Thu, 26 Jan 2012)
Log Message:
-----------
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.

Modified Paths:
--------------
    trunk/blender/source/blender/editors/interface/interface_handlers.c
    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 
2012-01-26 12:44:31 UTC (rev 43723)
+++ trunk/blender/source/blender/editors/interface/interface_handlers.c 
2012-01-26 12:48:36 UTC (rev 43724)
@@ -1527,6 +1527,8 @@
        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) {

Modified: trunk/blender/source/blender/editors/interface/interface_widgets.c
===================================================================
--- trunk/blender/source/blender/editors/interface/interface_widgets.c  
2012-01-26 12:44:31 UTC (rev 43723)
+++ trunk/blender/source/blender/editors/interface/interface_widgets.c  
2012-01-26 12:48:36 UTC (rev 43724)
@@ -952,6 +952,9 @@
        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;
        

_______________________________________________
Bf-blender-cvs mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to