diff options
-rw-r--r-- | ChangeLog | 7 | ||||
-rw-r--r-- | src/vte.c | 42 | ||||
-rw-r--r-- | vte.spec | 5 |
3 files changed, 30 insertions, 24 deletions
@@ -1,4 +1,11 @@ 2003-01-17 nalin + * src/vte.c(vte_terminal_paint): don't draw cursors below or above the + screen, correctly compute the clear area when drawing the cursor, + if we're ignoring padding in general because we're monospaced, also + ignore it when drawing the character under the cursor. + * src/vte.c(vte_terminal_io_read): eliminate dead code. + +2003-01-17 nalin * src/keymap.c(_vte_keymap_map): if we don't find an entry for the requested key, and the terminal type is "xterm", retry using "xterm-xfree86", possible fix for #103713. @@ -7255,13 +7255,6 @@ vte_terminal_io_read(GIOChannel *channel, widget = GTK_WIDGET(data); terminal = VTE_TERMINAL(data); - /* If the terminal is selecting, then we need to stop reading input - * (for at least a moment) to keep data from scrolling off the top of - * our backscroll buffer, but come back later. */ - if (terminal->pvt->selecting) { - // return TRUE; - } - /* Check that the channel is still open. */ fd = g_io_channel_unix_get_fd(channel); @@ -13747,8 +13740,8 @@ vte_terminal_paint(GtkWidget *widget, GdkRectangle *area) row * height - y_offs, x_offs, y_offs, ascent, monospaced, - terminal->char_width, - terminal->char_height, + width, + height, display, gdrawable, drawable, colormap, visual, ggc, gc, #ifdef HAVE_XFT @@ -13760,7 +13753,10 @@ vte_terminal_paint(GtkWidget *widget, GdkRectangle *area) if (terminal->pvt->cursor_visible && (CLAMP(screen->cursor_current.col, 0, terminal->column_count - 1) == - screen->cursor_current.col)) { + screen->cursor_current.col) && + (CLAMP(screen->cursor_current.row, + delta, delta + terminal->row_count - 1) == + screen->cursor_current.row)) { /* Get the location of the cursor. */ col = screen->cursor_current.col; if (terminal->pvt->im_preedit != NULL) { @@ -13775,7 +13771,7 @@ vte_terminal_paint(GtkWidget *widget, GdkRectangle *area) /* Find the character "under" the cursor. */ cell = vte_terminal_find_charcell(terminal, col, drow); - while ((cell != NULL) && (cell->fragment) && (col >= 0)) { + while ((cell != NULL) && (cell->fragment) && (col > 0)) { col--; cell = vte_terminal_find_charcell(terminal, col, drow); } @@ -13794,8 +13790,8 @@ vte_terminal_paint(GtkWidget *widget, GdkRectangle *area) TRUE, col * width - x_offs, row * height - y_offs, - terminal->char_width * cell->columns, - terminal->char_height, + width * cell->columns, + height, display, gdrawable, drawable, @@ -13836,11 +13832,15 @@ vte_terminal_paint(GtkWidget *widget, GdkRectangle *area) } else { item.c = cell ? cell->c : ' '; item.columns = cell ? cell->columns : 1; - item.xpad = vte_terminal_get_char_padding(terminal, - display, - item.c); + if (monospaced) { + item.xpad = 0; + } else { + item.xpad = vte_terminal_get_char_padding(terminal, + display, + item.c); + } underline = cell ? (cell->underline != 0) : FALSE; - strikethrough= cell ? (cell->strikethrough!= 0) : FALSE; + strikethrough = cell ? (cell->strikethrough != 0) : FALSE; bold = cell ? (cell->bold != 0) : FALSE; hilite = FALSE; vte_terminal_draw_cells(terminal, @@ -13852,7 +13852,7 @@ vte_terminal_paint(GtkWidget *widget, GdkRectangle *area) x_offs, y_offs, ascent, monospaced, - width * item.columns, + width, height, display, gdrawable, drawable, colormap, visual, ggc, gc, @@ -13863,12 +13863,8 @@ vte_terminal_paint(GtkWidget *widget, GdkRectangle *area) } columns = item.columns; } else { - /* Determine how wide the cursor is. */ - columns = 1; - if ((cell != NULL) && (cell->columns > 1)) { - columns = cell->columns; - } /* Draw it as a hollow rectangle. */ + columns = cell ? cell->columns : 1; fore = cell ? cell->fore : VTE_DEF_FG; XSetForeground(display, gc, terminal->pvt->palette[fore].pixel); @@ -1,5 +1,5 @@ Name: vte -Version: 0.10.10 +Version: 0.10.11 Release: 1 Summary: An experimental terminal emulator. License: LGPL @@ -93,6 +93,9 @@ rm -f $RPM_BUILD_ROOT/%{_libdir}/python*/site-packages/*.a %{_libdir}/pkgconfig/* %changelog +* Fri Jan 17 2003 Nalin Dahyabhai <nalin@redhat.com> 0.10.11-1 +- fix overzealous clearing when drawing the cursor + * Tue Jan 14 2003 Nalin Dahyabhai <nalin@redhat.com> 0.10.10-1 - add text that scrolls off of a restricted scrolling area which goes to the top of the visible screen to the scrollback buffer (#75900) |