term->repeat_off = FALSE;
term->termstate = TOPLEVEL;
term->selstate = NO_SELECTION;
+ term->curstype = 0;
term->screen = term->alt_screen = term->scrollback = NULL;
term->disptop = 0;
* Perform an actual beep if we're not overloaded.
*/
if (!cfg.bellovl || !term->beep_overloaded) {
+ beep(term->frontend, cfg.beep);
if (cfg.beep == BELL_VISUAL) {
term->in_vbell = TRUE;
term->vbell_startpoint = ticks;
term_update(term);
- } else
- beep(term->frontend, cfg.beep);
+ }
}
term->disptop = 0;
}
*/
if ((tchar | tattr) != (term->disptext[idx]& ~ATTR_NARROW)) {
if ((tattr & ATTR_WIDE) == 0 &&
- CharWidth(ctx, (tchar | tattr) & 0xFFFF) == 2)
+ char_width(ctx, (tchar | tattr) & 0xFFFF) == 2)
tattr |= ATTR_NARROW;
} else if (term->disptext[idx]&ATTR_NARROW)
tattr |= ATTR_NARROW;
* Paint the window in response to a WM_PAINT message.
*/
void term_paint(Terminal *term, Context ctx,
- int left, int top, int right, int bottom)
+ int left, int top, int right, int bottom, int immediately)
{
int i, j;
if (left < 0) left = 0;
* fails to actually do anything when re-sizing ... painting the wrong
* window perhaps ?
*/
- if (alt_pressed)
+ if (immediately)
do_paint (term, ctx, FALSE);
}
if (DIRECT_FONT(uc)) {
if (c >= ' ' && c != 0x7F) {
- unsigned char buf[4];
+ char buf[4];
WCHAR wbuf[4];
int rv;
if (is_dbcs_leadbyte(font_codepage, (BYTE) c)) {
buf[0] = c;
- buf[1] = (unsigned char) ldata[top.x + 1];
+ buf[1] = ldata[top.x + 1];
rv = mb_to_wc(font_codepage, 0, buf, 2, wbuf, 4);
top.x++;
} else {