From: root Date: Tue, 4 Nov 2008 14:38:29 +0000 (+0000) Subject: src/background.C X-Git-Url: http://git.openbox.org/?a=commitdiff_plain;h=54dacffbfc4ae341d2858c0f5edfb5e66574144b;p=dana%2Furxvt.git src/background.C --- diff --git a/src/background.C b/src/background.C index f2e389dd..753360e6 100644 --- a/src/background.C +++ b/src/background.C @@ -1139,11 +1139,11 @@ bgPixmap_t::render () XImage *result = NULL; # ifdef HAVE_AFTERIMAGE - target->init_asv (); - if (original_asim || (background_flags & transpTransformations) != (flags & transpTransformations)) { + target->init_asv (); + ASImage *background = NULL; ARGB32 as_tint = TINT_LEAVE_SAME; if (background_flags) diff --git a/src/screen.C b/src/screen.C index f51a5a3f..0e05a056 100644 --- a/src/screen.C +++ b/src/screen.C @@ -1466,11 +1466,18 @@ rxvt_term::scr_insdel_chars (int count, int insdel) NOTHROW line->touch (); line->is_longer (0); + // nuke wide char at beginning + if (line->t[screen.cur.col] == NOCHAR) + scr_kill_char (*line, screen.cur.col); + switch (insdel) { case INSERT: line->l = min (line->l + count, ncol); + if (line->t[screen.cur.col] == NOCHAR) + scr_kill_char (*line, screen.cur.col); + for (int col = ncol - 1; (col - count) >= screen.cur.col; col--) { line->t[col] = line->t[col - count]; @@ -1500,6 +1507,10 @@ rxvt_term::scr_insdel_chars (int count, int insdel) NOTHROW selection_check (1); screen.cur.col -= count; + // nuke wide char after the end + if (screen.cur.col + count < ncol && line->t[screen.cur.col + count] == NOCHAR) + scr_kill_char (*line, screen.cur.col + count); + scr_blank_line (*line, screen.cur.col, count, rstyle); break;