--- rxvt-unicode/src/main.C 2006/07/28 17:16:42 1.227 +++ rxvt-unicode/src/main.C 2006/08/27 10:14:47 1.231 @@ -58,15 +58,15 @@ bool rxvt_set_locale (const char *locale) NOTHROW { - int len = strlen (locale) + 1; + int size = strlen (locale) + 1; - if (len > sizeof (curlocale)) + if (size > sizeof (curlocale)) rxvt_fatal ("locale string too long, aborting.\n"); - if (!locale || !memcmp (locale, curlocale, len)) + if (!locale || !memcmp (locale, curlocale, size)) return false; - memcpy (curlocale, locale, len); + memcpy (curlocale, locale, size); setlocale (LC_CTYPE, curlocale); return true; } @@ -272,9 +272,9 @@ clear (); } - delete pix_colors_focused; + delete [] pix_colors_focused; #if OFF_FOCUS_FADING - delete pix_colors_unfocused; + delete [] pix_colors_unfocused; #endif displays.put (display); @@ -814,7 +814,8 @@ prop = (*fs)[1]->properties (); prop.height += lineSpace; - fs->set_prop (prop); + + fs->set_prop (prop, false); fwidth = prop.width; fheight = prop.height; @@ -833,17 +834,20 @@ rxvt_fontprop prop2 = prop; if (res) - prop2.weight = prop2.slant = rxvt_fontprop::unset; + { + fs->populate (res); + fs->set_prop (prop2, false); + } else { - res = fontset[0]->fontdesc; + fs->populate (fontset[0]->fontdesc); if (SET_STYLE (0, style) & RS_Bold) prop2.weight = rxvt_fontprop::bold; if (SET_STYLE (0, style) & RS_Italic) prop2.slant = rxvt_fontprop::italic; + + fs->set_prop (prop2, true); } - fs->populate (res); - fs->set_prop (prop2); } #else fontset[style] = fontset[0];