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:
authorCampbell Barton <ideasman42@gmail.com>2011-10-24 10:57:53 +0400
committerCampbell Barton <ideasman42@gmail.com>2011-10-24 10:57:53 +0400
commit5571485bad17fce48bca160cef97f6a591d5c08f (patch)
tree9d4e5e82bacbea46f864648a97fdbe76e5f58f29 /source/blender
parent809131bc8026c85f61813de42c34b02c47a780fe (diff)
fix for crash when entering in non unicode ascii chars.
now allow these but only for filepaths.
Diffstat (limited to 'source/blender')
-rw-r--r--source/blender/editors/interface/interface_handlers.c20
1 files changed, 6 insertions, 14 deletions
diff --git a/source/blender/editors/interface/interface_handlers.c b/source/blender/editors/interface/interface_handlers.c
index e49cb4898d9..99972f2ff09 100644
--- a/source/blender/editors/interface/interface_handlers.c
+++ b/source/blender/editors/interface/interface_handlers.c
@@ -1944,26 +1944,18 @@ static void ui_do_but_textedit(bContext *C, uiBlock *block, uiBut *but, uiHandle
if((event->ascii || event->utf8_buf[0]) && (retval == WM_UI_HANDLER_CONTINUE)) {
char ascii = event->ascii;
- const char *utf8_buf= event->utf8_buf;
/* exception that's useful for number buttons, some keyboard
numpads have a comma instead of a period */
- if(ELEM3(but->type, NUM, NUMABS, NUMSLI)) { /* could use data->min*/
- if(event->type == PADPERIOD && ascii == ',') {
+ if(ELEM3(but->type, NUM, NUMABS, NUMSLI))
+ if(event->type == PADPERIOD && ascii == ',')
ascii = '.';
- utf8_buf= NULL; /* force ascii fallback */
- }
- }
- if(utf8_buf && utf8_buf[0]) {
- int utf8_buf_len= BLI_str_utf8_size(utf8_buf);
+ if(event->utf8_buf[0]) {
/* keep this printf until utf8 is well tested */
- if (utf8_buf_len != 1) {
- printf("%s: utf8 char '%.*s'\n", __func__, utf8_buf_len, utf8_buf);
- }
-
- // strcpy(utf8_buf, "12345");
- changed= ui_textedit_type_buf(but, data, event->utf8_buf, utf8_buf_len);
+ printf("%s: utf8 char '%s'\n", __func__, event->utf8_buf);
+ // strcpy(event->utf8_buf, "12345");
+ changed= ui_textedit_type_buf(but, data, event->utf8_buf, BLI_str_utf8_size(event->utf8_buf));
}
else {
changed= ui_textedit_type_ascii(but, data, ascii);