Fix hilite clearing when scrolling delta != 0. Actually add the signals
authorNalin Dahyabhai <nalin@src.gnome.org>
Wed, 12 Jun 2002 18:16:04 +0000 (18:16 +0000)
committerNalin Dahyabhai <nalin@src.gnome.org>
Wed, 12 Jun 2002 18:16:04 +0000 (18:16 +0000)
* src/vte.c: Fix hilite clearing when scrolling delta != 0.
* src/debug.c, src/debug.h: Actually add the signals debugging flag.

README
src/debug.c
src/debug.h
src/vte.c
src/vteaccess.c

diff --git a/README b/README
index 23f99fe..93964fd 100644 (file)
--- a/README
+++ b/README
@@ -29,9 +29,6 @@
 - Sequence matching is greedy, so that C=AB matches C and not A and then B.
 - Bold doesn't work right if the default foreground color isn't gray.  Need
   to move to 20-color palette to fix this right.
-- Matching doesn't always work right:  if two cells which are adjacent
-  (vertically) would both be hilited due to matching, the hilite doesn't
-  get cleared properly when the pointer moves.
 - I'm not sure the widget implementation itself is correct.  There are many
   changes in going from GTK+ 1.2 to 2.0, and examples of the proper way to do
   things is currently scarce, so some of it's guesswork.
index b0cd439..865a310 100644 (file)
@@ -49,6 +49,9 @@ vte_debug_parse_string(const char *string)
                        } else
                        if (g_ascii_strcasecmp(flags[i], "PARSE") == 0) {
                                vte_debug_flags |= VTE_DEBUG_PARSE;
+                       } else
+                       if (g_ascii_strcasecmp(flags[i], "SIGNALS") == 0) {
+                               vte_debug_flags |= VTE_DEBUG_SIGNALS;
                        }
                }
                g_strfreev(flags);
index f22ff7e..8e7ef27 100644 (file)
@@ -27,6 +27,7 @@ typedef enum {
        VTE_DEBUG_IO      = 1 << 2,
        VTE_DEBUG_UPDATES = 1 << 3,
        VTE_DEBUG_EVENTS  = 1 << 4,
+       VTE_DEBUG_SIGNALS = 1 << 5,
 } VteDebugFlags;
 
 void vte_debug_parse_string(const char *string);
index 1ea40a3..941cc49 100644 (file)
--- a/src/vte.c
+++ b/src/vte.c
@@ -6715,7 +6715,7 @@ vte_terminal_match_hilite(VteTerminal *terminal, double x, double y)
                vte_invalidate_cells(terminal,
                                     0,
                                     terminal->column_count,
-                                    rows,
+                                    screen->scroll_delta + rows,
                                     rowe - rows + 1);
        }
 }
index 4893ff4..fb98835 100644 (file)
@@ -352,7 +352,8 @@ vte_terminal_accessible_get_text(AtkText *text,
        VteTerminalAccessiblePrivate *priv;
        int start, end;
 
-       g_return_val_if_fail(start_offset >= 0 && end_offset >= -1, g_strdup(""));
+       g_return_val_if_fail((start_offset >= 0) && (end_offset >= -1),
+                            g_strdup(""));
 
        vte_terminal_accessible_update_private_data_if_needed(ATK_OBJECT(text));
 
@@ -375,7 +376,7 @@ vte_terminal_accessible_get_text(AtkText *text,
 
        /* Map the offsets to, er, offsets. */
        start = g_array_index(priv->snapshot_characters, int, start_offset);
-       if (end_offset == -1 || end_offset >= priv->snapshot_attributes->len) {
+       if ((end_offset == -1) || (end_offset >= priv->snapshot_attributes->len) ) {
                /* Get everything up to the end of the buffer. */
                end = priv->snapshot_attributes->len;
        } else {