X-Git-Url: https://ncurses.scripts.mit.edu/?p=ncurses.git;a=blobdiff_plain;f=ncurses%2Ftty%2Ftty_update.c;h=46a4786db9d4328d21b585a121e95e0b66e27772;hp=16811f5e58ec79c5c68cd8799e9c22d13e53a664;hb=3eda6f30a84d53844d2ebceadb457e2e7e9cfbf3;hpb=44a63c85c16f81579c74d68cd99eea1a1fd00c28 diff --git a/ncurses/tty/tty_update.c b/ncurses/tty/tty_update.c index 16811f5e..46a4786d 100644 --- a/ncurses/tty/tty_update.c +++ b/ncurses/tty/tty_update.c @@ -43,6 +43,8 @@ * *-----------------------------------------------------------------*/ +#define NEW_PAIR_INTERNAL 1 + #include #ifndef CUR @@ -82,7 +84,7 @@ #include -MODULE_ID("$Id: tty_update.c,v 1.286 2017/02/12 17:15:15 tom Exp $") +MODULE_ID("$Id: tty_update.c,v 1.288 2017/03/16 08:24:12 tom Exp $") /* * This define controls the line-breakout optimization. Every once in a @@ -578,14 +580,15 @@ can_clear_with(NCURSES_SP_DCLx ARG_CH_T ch) if (!SP_PARM->_default_color) return FALSE; - if (SP_PARM->_default_fg != C_MASK || SP_PARM->_default_bg != C_MASK) + if (!(isDefaultColor(SP_PARM->_default_fg) && + isDefaultColor(SP_PARM->_default_bg))) return FALSE; if ((pair = GetPair(CHDEREF(ch))) != 0) { NCURSES_COLOR_T fg, bg; if (NCURSES_SP_NAME(pair_content) (NCURSES_SP_ARGx (short) pair, &fg, &bg) == ERR - || (fg != C_MASK || bg != C_MASK)) { + || !(isDefaultColor(fg) && isDefaultColor(bg))) { return FALSE; } } @@ -1345,8 +1348,8 @@ TransformLine(NCURSES_SP_DCLx int const lineno) && unColor(oldLine[n]) == unColor(newLine[n])) { if (oldPair < SP_PARM->_pair_limit && newPair < SP_PARM->_pair_limit - && (SP_PARM->_color_pairs[oldPair] == - SP_PARM->_color_pairs[newPair])) { + && (isSamePair(SP_PARM->_color_pairs[oldPair], + SP_PARM->_color_pairs[newPair]))) { SetPair(oldLine[n], GetPair(newLine[n])); } } @@ -2177,11 +2180,11 @@ NCURSES_SP_NAME(_nc_screen_resume) (NCURSES_SP_DCL0) SP_PARM->_color_defs = -(SP_PARM->_color_defs); for (n = 0; n < SP_PARM->_color_defs; ++n) { if (SP_PARM->_color_table[n].init) { - NCURSES_SP_NAME(init_color) (NCURSES_SP_ARGx - (short) n, - SP_PARM->_color_table[n].r, - SP_PARM->_color_table[n].g, - SP_PARM->_color_table[n].b); + _nc_init_color(SP_PARM, + n, + SP_PARM->_color_table[n].r, + SP_PARM->_color_table[n].g, + SP_PARM->_color_table[n].b); } } }