diff --git a/configs/open1788/README.txt b/configs/open1788/README.txt index c6ef871418..4886234b8d 100644 --- a/configs/open1788/README.txt +++ b/configs/open1788/README.txt @@ -406,11 +406,6 @@ Configuration Directories To be useful, the font sizes, windows sizes, and line widths would need to be optimized to make a friendlier display. - STATUS: 2019-03-08: Currently I am seeing a problem. The display looks - good until it begins scrolling when the display is full. Then there are - missing characters. This is probably related to clearing of the final - line of the display after the scroll(?) - nsh --- Configures the NuttShell (nsh) located at examples/nsh. The diff --git a/graphics/nxterm/nxterm_driver.c b/graphics/nxterm/nxterm_driver.c index 82a36b9bf8..a2abf2a2b9 100644 --- a/graphics/nxterm/nxterm_driver.c +++ b/graphics/nxterm/nxterm_driver.c @@ -294,6 +294,7 @@ static ssize_t nxterm_write(FAR struct file *filep, FAR const char *buffer, { priv->seq[i-1] = priv->seq[i]; } + priv->nseq--; /* Then loop again and check if what remains is part of a diff --git a/graphics/nxterm/nxterm_font.c b/graphics/nxterm/nxterm_font.c index 5a4e30ef47..913e108324 100644 --- a/graphics/nxterm/nxterm_font.c +++ b/graphics/nxterm/nxterm_font.c @@ -90,7 +90,7 @@ static void nxterm_fillspace(FAR struct nxterm_state_s *priv, FAR const struct nxgl_rect_s *rect, FAR const struct nxterm_bitmap_s *bm) { -#if 0 /* Not necessary */ +#if 0 /* Not necessary now, but perhaps in the future with VT100 support. */ struct nxgl_rect_s bounds; struct nxgl_rect_s intersection; int ret; @@ -149,7 +149,7 @@ static void nxterm_fillspace(FAR struct nxterm_state_s *priv, ****************************************************************************/ FAR const struct nxterm_bitmap_s * -nxterm_addchar(FAR struct nxterm_state_s *priv, uint8_t ch) + nxterm_addchar(FAR struct nxterm_state_s *priv, uint8_t ch) { FAR struct nxterm_bitmap_s *bm = NULL; FAR const struct nxfonts_glyph_s *glyph; diff --git a/libs/libnx/nxfonts/nxfonts_cache.c b/libs/libnx/nxfonts/nxfonts_cache.c index 604c3abb6f..1399fe923e 100644 --- a/libs/libnx/nxfonts/nxfonts_cache.c +++ b/libs/libnx/nxfonts/nxfonts_cache.c @@ -1,7 +1,7 @@ /**************************************************************************** * libs/libnx/nxfonts/nxfonts_cache.c * - * Copyright (C) 2017 Gregory Nutt. All rights reserved. + * Copyright (C) 2017, 2019 Gregory Nutt. All rights reserved. * Author: Gregory Nutt * * Redistribution and use in source and binary forms, with or without @@ -135,7 +135,7 @@ static void nxf_list_lock(void) static inline void nxf_removecache(FAR struct nxfonts_fcache_s *fcache, FAR struct nxfonts_fcache_s *prev) { - /* Remove the cache for the list. First check for removal from the head */ + /* Remove the cache from the list. First check for removal from the head */ if (prev == NULL) { @@ -288,7 +288,7 @@ static inline void nxf_addglyph(FAR struct nxfonts_fcache_s *priv, ****************************************************************************/ static FAR struct nxfonts_glyph_s * -nxf_findglyph(FAR struct nxfonts_fcache_s *priv, uint8_t ch) + nxf_findglyph(FAR struct nxfonts_fcache_s *priv, uint8_t ch) { FAR struct nxfonts_glyph_s *glyph; FAR struct nxfonts_glyph_s *prev; @@ -333,6 +333,7 @@ nxf_findglyph(FAR struct nxfonts_fcache_s *priv, uint8_t ch) */ nxf_removeglyph(priv, glyph, prev); + lib_free(glyph); return NULL; } } @@ -517,8 +518,8 @@ static inline void nxf_fillglyph(FAR struct nxfonts_fcache_s *priv, ****************************************************************************/ static inline FAR struct nxfonts_glyph_s * -nxf_renderglyph(FAR struct nxfonts_fcache_s *priv, - FAR const struct nx_fontbitmap_s *fbm, uint8_t ch) + nxf_renderglyph(FAR struct nxfonts_fcache_s *priv, + FAR const struct nx_fontbitmap_s *fbm, uint8_t ch) { FAR struct nxfonts_glyph_s *glyph = NULL; size_t bmsize; @@ -592,8 +593,8 @@ nxf_renderglyph(FAR struct nxfonts_fcache_s *priv, ****************************************************************************/ static FAR struct nxfonts_fcache_s * -nxf_findcache(enum nx_fontid_e fontid, nxgl_mxpixel_t fgcolor, - nxgl_mxpixel_t bgcolor, int bpp) + nxf_findcache(enum nx_fontid_e fontid, nxgl_mxpixel_t fgcolor, + nxgl_mxpixel_t bgcolor, int bpp) { FAR struct nxfonts_fcache_s *fcache; @@ -783,6 +784,7 @@ FCACHE nxf_cache_connect(enum nx_fontid_e fontid, errout_with_fcache: lib_free(priv); + errout_with_lock: nxf_list_unlock(); set_errno(errcode);