Oops. When deciding which attributes are interesting, we want the union of
authorben <ben@cda61777-01e9-0310-a592-d414129be87e>
Sun, 8 Dec 2002 22:23:08 +0000 (22:23 +0000)
committerben <ben@cda61777-01e9-0310-a592-d414129be87e>
Sun, 8 Dec 2002 22:23:08 +0000 (22:23 +0000)
all the screens' capabilites, not the intersection.

git-svn-id: svn://svn.tartarus.org/sgt/putty@2297 cda61777-01e9-0310-a592-d414129be87e

mac/macterm.c

index 94e8523..629d254 100644 (file)
@@ -1,4 +1,4 @@
-/* $Id: macterm.c,v 1.19 2002/12/08 22:15:10 ben Exp $ */
+/* $Id: macterm.c,v 1.20 2002/12/08 22:23:08 ben Exp $ */
 /*
  * Copyright (c) 1999 Simon Tatham
  * Copyright (c) 1999, 2002 Ben Harris
@@ -1010,7 +1010,7 @@ void pre_paint(Session *s) {
     GDHandle gdh;
     Rect myrect, tmprect;
 
-    s->term->attr_mask = 0xffffffff;
+    s->term->attr_mask = 0;
     if (HAVE_COLOR_QD()) {
        SetPort(s->window);
        myrect = (*s->window->visRgn)->rgnBBox;
@@ -1025,10 +1025,14 @@ void pre_paint(Session *s) {
                switch ((*(*gdh)->gdPMap)->pixelSize) {
                  case 1:
                    if (s->cfg.bold_colour)
-                       s->term->attr_mask &= ~ATTR_BOLD;
-                   /* FALLTHROUGH */
+                       s->term->attr_mask |= ~(ATTR_BOLD | ATTR_COLOURS);
+                   break;
                  case 2:
-                   s->term->attr_mask &= ~ATTR_COLOURS;
+                   s->term->attr_mask |= ~ATTR_COLOURS;
+                   break;
+                 default:
+                   s->term->attr_mask = ~0;
+                   return; /* No point checking more screens. */
                }
            }
        }