diff options
Diffstat (limited to 'source/blender/editors/interface')
-rw-r--r-- | source/blender/editors/interface/interface.c | 16 | ||||
-rw-r--r-- | source/blender/editors/interface/interface_draw.c | 5 | ||||
-rw-r--r-- | source/blender/editors/interface/interface_handlers.c | 24 | ||||
-rw-r--r-- | source/blender/editors/interface/resources.c | 6 |
4 files changed, 19 insertions, 32 deletions
diff --git a/source/blender/editors/interface/interface.c b/source/blender/editors/interface/interface.c index 52e9ae6894e..48141a4eeb4 100644 --- a/source/blender/editors/interface/interface.c +++ b/source/blender/editors/interface/interface.c @@ -664,7 +664,7 @@ void ui_menu_block_set_keymaps(const bContext *C, uiBlock *block) { uiBut *but; IDProperty *prop; - char buf[512], *butstr; + char buf[512]; /* only do it before bounding */ if(block->minx != block->maxx) @@ -675,15 +675,10 @@ void ui_menu_block_set_keymaps(const bContext *C, uiBlock *block) prop= (but->opptr)? but->opptr->data: NULL; if(WM_key_event_operator_string(C, but->optype->idname, but->opcontext, prop, buf, sizeof(buf))) { - butstr= MEM_mallocN(strlen(but->str)+strlen(buf)+2, "menu_block_set_keymaps"); - strcpy(butstr, but->str); - strcat(butstr, "|"); - strcat(butstr, buf); - + char *butstr_orig= BLI_strdup(but->str); + BLI_snprintf(but->strdata, sizeof(but->strdata), "%s|%s", butstr_orig, buf); + MEM_freeN(butstr_orig); but->str= but->strdata; - BLI_strncpy(but->str, butstr, sizeof(but->strdata)); - MEM_freeN(butstr); - ui_check_but(but); } } @@ -2162,8 +2157,7 @@ void ui_check_but(uiBut *but) ui_get_but_string(but, str, UI_MAX_DRAW_STR-strlen(but->str)); - strcpy(but->drawstr, but->str); - strcat(but->drawstr, str); + BLI_snprintf(but->drawstr, sizeof(but->drawstr), "%s%s", but->str, str); } break; diff --git a/source/blender/editors/interface/interface_draw.c b/source/blender/editors/interface/interface_draw.c index 4ea0c01d15c..d6258d20b52 100644 --- a/source/blender/editors/interface/interface_draw.c +++ b/source/blender/editors/interface/interface_draw.c @@ -553,8 +553,6 @@ static void ui_draw_but_CHARTAB(uiBut *but) /* Set the font, in case it is not FO_BUILTIN_NAME font */ if(G.selfont && strcmp(G.selfont->name, FO_BUILTIN_NAME)) { - char tmpStr[256]; - // Is the font file packed, if so then use the packed file if(G.selfont->packedfile) { @@ -563,9 +561,10 @@ static void ui_draw_but_CHARTAB(uiBut *but) } else { + char tmpStr[256]; int err; - strcpy(tmpStr, G.selfont->name); + BLI_strncpy(tmpStr, G.selfont->name, sizeof(tmpStr)); BLI_path_abs(tmpStr, G.main->name); err = FTF_SetFont((unsigned char *)tmpStr, 0, 14.0); } diff --git a/source/blender/editors/interface/interface_handlers.c b/source/blender/editors/interface/interface_handlers.c index d912610637f..8c91030704c 100644 --- a/source/blender/editors/interface/interface_handlers.c +++ b/source/blender/editors/interface/interface_handlers.c @@ -3968,35 +3968,31 @@ static void but_shortcut_name_func(bContext *C, void *arg1, int UNUSED(event)) uiBut *but = (uiBut *)arg1; if (but->optype) { - char buf[512], *butstr, *cpoin; + char buf[512], *cpoin; IDProperty *prop= (but->opptr)? but->opptr->data: NULL; /* complex code to change name of button */ if(WM_key_event_operator_string(C, but->optype->idname, but->opcontext, prop, buf, sizeof(buf))) { wmKeyMap *km= NULL; + char *butstr_orig; - butstr= MEM_mallocN(strlen(but->str)+strlen(buf)+2, "menu_block_set_keymaps"); - // XXX but->str changed... should not, remove the hotkey from it cpoin= strchr(but->str, '|'); if(cpoin) *cpoin= 0; - - strcpy(butstr, but->str); - strcat(butstr, "|"); - strcat(butstr, buf); - + + butstr_orig= BLI_strdup(but->str); + BLI_snprintf(but->strdata, sizeof(but->strdata), "%s|%s", butstr_orig, buf); + MEM_freeN(butstr_orig); but->str= but->strdata; - BLI_strncpy(but->str, butstr, sizeof(but->strdata)); - MEM_freeN(butstr); - + ui_check_but(but); - + /* set the keymap editable else the key wont save */ WM_key_event_operator_id(C, but->optype->idname, but->opcontext, prop, 1, &km); WM_keymap_copy_to_user(km); - - } else { + } + else { /* shortcut was removed */ cpoin= strchr(but->str, '|'); if(cpoin) *cpoin= 0; diff --git a/source/blender/editors/interface/resources.c b/source/blender/editors/interface/resources.c index 52e9a395c4e..9ab45ae648b 100644 --- a/source/blender/editors/interface/resources.c +++ b/source/blender/editors/interface/resources.c @@ -1004,10 +1004,8 @@ void init_userdef_do_versions(void) U.tb_rightmouse= 5; } if(U.mixbufsize==0) U.mixbufsize= 2048; - if (BLI_streq(U.tempdir, "/")) { - char *tmp= getenv("TEMP"); - - strcpy(U.tempdir, tmp?tmp:"/tmp/"); + if (strcmp(U.tempdir, "/") == 0) { + BLI_where_is_temp(U.tempdir, sizeof(U.tempdir), FALSE); } if (U.autokey_mode == 0) { /* 'add/replace' but not on */ |