- s->attr_mask = ATTR_INVALID;
- if (HAVE_COLOR_QD())
- DeviceLoop(s->window->visRgn, &mac_set_attr_mask_upp, (long)s, 0);
- else
- mac_set_attr_mask(1, 0, NULL, (long)s);
+ s->term->attr_mask = 0xffffffff;
+ if (HAVE_COLOR_QD()) {
+ SetPort(s->window);
+ myrect = (*s->window->visRgn)->rgnBBox;
+ LocalToGlobal((Point *)&myrect.top);
+ LocalToGlobal((Point *)&myrect.bottom);
+ for (gdh = GetDeviceList();
+ gdh != NULL;
+ gdh = GetNextDevice(gdh)) {
+ if (TestDeviceAttribute(gdh, screenDevice) &&
+ TestDeviceAttribute(gdh, screenActive) &&
+ SectRect(&(*gdh)->gdRect, &myrect, &tmprect)) {
+ switch ((*(*gdh)->gdPMap)->pixelSize) {
+ case 1:
+ if (s->cfg.bold_colour)
+ s->term->attr_mask &= ~ATTR_BOLD;
+ /* FALLTHROUGH */
+ case 2:
+ s->term->attr_mask &= ~ATTR_COLOURS;
+ }
+ }
+ }
+ } else
+ s->term->attr_mask &= ~(ATTR_COLOURS |
+ (s->cfg.bold_colour ? ATTR_BOLD : 0));