mirror of
https://github.com/Aigor44/ncursesw-morphos.git
synced 2024-12-21 07:39:06 +08:00
ncurses 5.7 - patch 20090516
+ work around antique BSD game's manipulation of stdscr, etc., versus SCREEN's copy of the pointer (Debian #528411). + add a cast to wattrset macro to avoid compiler warning when comparing its result against ERR (adapted from patch by Matt Kraii, Debian #528374).
This commit is contained in:
parent
404cc3f5b0
commit
9dda8e1ed1
9
NEWS
9
NEWS
@ -25,7 +25,7 @@
|
||||
-- sale, use or other dealings in this Software without prior written --
|
||||
-- authorization. --
|
||||
-------------------------------------------------------------------------------
|
||||
-- $Id: NEWS,v 1.1386 2009/05/10 21:27:04 tom Exp $
|
||||
-- $Id: NEWS,v 1.1388 2009/05/17 00:20:31 tom Exp $
|
||||
-------------------------------------------------------------------------------
|
||||
|
||||
This is a log of changes that ncurses has gone through since Zeyd started
|
||||
@ -45,6 +45,13 @@ See the AUTHORS file for the corresponding full names.
|
||||
Changes through 1.9.9e did not credit all contributions;
|
||||
it is not possible to add this information.
|
||||
|
||||
20090516
|
||||
+ work around antique BSD game's manipulation of stdscr, etc., versus
|
||||
SCREEN's copy of the pointer (Debian #528411).
|
||||
+ add a cast to wattrset macro to avoid compiler warning when comparing
|
||||
its result against ERR (adapted from patch by Matt Kraii, Debian
|
||||
#528374).
|
||||
|
||||
20090510
|
||||
+ continue integrating "sp-funcs" by Juergen Pfeifer (incomplete).
|
||||
|
||||
|
4
dist.mk
4
dist.mk
@ -25,7 +25,7 @@
|
||||
# use or other dealings in this Software without prior written #
|
||||
# authorization. #
|
||||
##############################################################################
|
||||
# $Id: dist.mk,v 1.699 2009/05/10 21:27:04 tom Exp $
|
||||
# $Id: dist.mk,v 1.700 2009/05/15 23:35:19 tom Exp $
|
||||
# Makefile for creating ncurses distributions.
|
||||
#
|
||||
# This only needs to be used directly as a makefile by developers, but
|
||||
@ -37,7 +37,7 @@ SHELL = /bin/sh
|
||||
# These define the major/minor/patch versions of ncurses.
|
||||
NCURSES_MAJOR = 5
|
||||
NCURSES_MINOR = 7
|
||||
NCURSES_PATCH = 20090510
|
||||
NCURSES_PATCH = 20090516
|
||||
|
||||
# We don't append the patch to the version, since this only applies to releases
|
||||
VERSION = $(NCURSES_MAJOR).$(NCURSES_MINOR)
|
||||
|
@ -32,7 +32,7 @@
|
||||
* and: Thomas E. Dickey 1996-on *
|
||||
****************************************************************************/
|
||||
|
||||
/* $Id: curses.h.in,v 1.199 2009/05/09 15:48:04 tom Exp $ */
|
||||
/* $Id: curses.h.in,v 1.200 2009/05/16 23:27:59 tom Exp $ */
|
||||
|
||||
#ifndef __NCURSES_H
|
||||
#define __NCURSES_H
|
||||
@ -1093,9 +1093,9 @@ extern NCURSES_EXPORT(int) NCURSES_SP_NAME(use_legacy_coding) (SCREEN*, int);
|
||||
#if !NCURSES_OPAQUE
|
||||
#if defined(_XOPEN_SOURCE_EXTENDED) && @NCURSES_EXT_COLORS@
|
||||
#define wattrset(win,at) ((win)->_color = PAIR_NUMBER(at), \
|
||||
(win)->_attrs = (at))
|
||||
NCURSES_CAST(int, (win)->_attrs = (at)))
|
||||
#else
|
||||
#define wattrset(win,at) ((win)->_attrs = (at))
|
||||
#define wattrset(win,at) NCURSES_CAST(int, (win)->_attrs = (at))
|
||||
#endif
|
||||
#endif /* NCURSES_OPAQUE */
|
||||
|
||||
|
@ -36,7 +36,7 @@
|
||||
#include <curses.priv.h>
|
||||
#include <ctype.h>
|
||||
|
||||
MODULE_ID("$Id: lib_addch.c,v 1.118 2009/04/18 23:53:04 tom Exp $")
|
||||
MODULE_ID("$Id: lib_addch.c,v 1.119 2009/05/15 23:47:26 tom Exp $")
|
||||
|
||||
static const NCURSES_CH_T blankchar = NewChar(BLANK_TEXT);
|
||||
|
||||
@ -260,10 +260,13 @@ waddch_literal(WINDOW *win, NCURSES_CH_T ch)
|
||||
/*
|
||||
* Build up multibyte characters until we have a wide-character.
|
||||
*/
|
||||
if_WIDEC({
|
||||
#if NCURSES_SP_FUNCS
|
||||
SCREEN *sp = _nc_screen_of(win);
|
||||
#define DeriveSP() SCREEN *sp = _nc_screen_of(win);
|
||||
#else
|
||||
#define DeriveSP() /*nothing*/
|
||||
#endif
|
||||
if_WIDEC({
|
||||
DeriveSP();
|
||||
if (WINDOW_EXT(win, addch_used) != 0 || !Charable(ch)) {
|
||||
int len = _nc_build_wch(win, CHREF(ch));
|
||||
|
||||
|
@ -82,7 +82,7 @@
|
||||
|
||||
#include <ctype.h>
|
||||
|
||||
MODULE_ID("$Id: tty_update.c,v 1.255 2009/05/10 00:53:14 tom Exp $")
|
||||
MODULE_ID("$Id: tty_update.c,v 1.256 2009/05/17 00:13:49 tom Exp $")
|
||||
|
||||
/*
|
||||
* This define controls the line-breakout optimization. Every once in a
|
||||
@ -668,8 +668,27 @@ NCURSES_SP_NAME(doupdate) (NCURSES_SP_DCL0)
|
||||
|
||||
T((T_CALLED("doupdate()")));
|
||||
|
||||
#if !USE_REENTRANT
|
||||
/*
|
||||
* It is "legal" but unlikely that an application could assign a new
|
||||
* value to one of the standard windows. Check for that possibility
|
||||
* and try to recover.
|
||||
*
|
||||
* We do not allow applications to assign new values in the reentrant
|
||||
* model.
|
||||
*/
|
||||
#define SyncScreens(internal,exported) \
|
||||
if (internal == 0) internal = exported; \
|
||||
if (internal != exported) exported = internal
|
||||
|
||||
SyncScreens(CurScreen(SP_PARM), curscr);
|
||||
SyncScreens(NewScreen(SP_PARM), newscr);
|
||||
SyncScreens(StdScreen(SP_PARM), stdscr);
|
||||
#endif
|
||||
|
||||
if (CurScreen(SP_PARM) == 0
|
||||
|| NewScreen(SP_PARM) == 0)
|
||||
|| NewScreen(SP_PARM) == 0
|
||||
|| StdScreen(SP_PARM) == 0)
|
||||
returnCode(ERR);
|
||||
|
||||
#ifdef TRACE
|
||||
|
Loading…
Reference in New Issue
Block a user