xterm-45.patch.txt

XFree86 3.9h - xterm patch #45 - T.Dickey <dickey@clark.net>
 
This fixes the problem reported with xterm's cursor color versus the background
(the second chunk in this patch) and also removes some duplicate initialization
of the cursor GC's.  If the cursor color at startup is the same as the
background, then xterm will use the reverse GC, ignoring the setting of the
colorMode resource.
 
--------------------------------------------------------------------------------
 charproc.c |    9 +++------
 1 files changed, 3 insertions, 6 deletions
--------------------------------------------------------------------------------
Index: charproc.c
--- xterm-44+/charproc.c        Mon Jun 30 08:51:00 1997
+++ xterm-45/charproc.c Wed Jul  2 21:59:37 1997
@@ -4796,7 +4796,8 @@
     Pixel cc = screen->cursorcolor;
     Pixel fg = screen->foreground;
     Pixel bg = term->core.background_pixel;
-    GC new_cursorGC = NULL, new_reversecursorGC = NULL;
+    GC new_cursorGC = NULL;
+    GC new_reversecursorGC = NULL;
     GC new_cursoroutlineGC = NULL;
 
     /*
@@ -4831,7 +4832,7 @@
      * not be set before the widget's realized, so it's tested separately).
      */
     if(screen->colorMode) {
-       if (TextWindow(screen) != 0) {
+       if (TextWindow(screen) != 0 && (cc != bg)) {
            /* we might have a colored foreground/background later */
            xgcv.font = screen->fnt_norm->fid;
            mask = (GCForeground | GCBackground | GCFont);
@@ -4872,10 +4873,6 @@
            xgcv.background = bg;
            new_cursoroutlineGC = XtGetGC ((Widget) term, mask, &xgcv);
        }
-    } else {
-       new_cursorGC = (GC) 0;
-       new_reversecursorGC = (GC) 0;
-       new_cursoroutlineGC = (GC) 0;
     }
 
 #if OPT_ISO_COLORS