Merge #6202 from justinmk/tui-resize-hack

ui: Ameliorate TUI resize bug.
This commit is contained in:
Justin M. Keyes 2017-03-05 23:24:47 +01:00 committed by GitHub
commit e32ec03d67
2 changed files with 40 additions and 36 deletions

View File

@ -1,26 +1,25 @@
/* Coverity Scan model // Coverity Scan model
* //
* This is a modeling file for Coverity Scan. Modeling helps to avoid false // This is a modeling file for Coverity Scan. Modeling helps to avoid false
* positives. // positives.
* //
* - A model file can't import any header files. // - A model file can't import any header files.
* - Therefore only some built-in primitives like int, char and void are // - Therefore only some built-in primitives like int, char and void are
* available but not wchar_t, NULL etc. // available but not wchar_t, NULL etc.
* - Modeling doesn't need full structs and typedefs. Rudimentary structs // - Modeling doesn't need full structs and typedefs. Rudimentary structs
* and similar types are sufficient. // and similar types are sufficient.
* - An uninitialized local pointer is not an error. It signifies that the // - An uninitialized local pointer is not an error. It signifies that the
* variable could be either NULL or have some data. // variable could be either NULL or have some data.
* //
* Coverity Scan doesn't pick up modifications automatically. The model file // Coverity Scan doesn't pick up modifications automatically. The model file
* must be uploaded by an admin in the analysis settings of // must be uploaded by an admin in the analysis settings of
* http://scan.coverity.com/projects/neovim-neovim // http://scan.coverity.com/projects/neovim-neovim
*/ //
/*
Issue 105985
Teach coverity that uv_pipe_open saves fd on success (0 return value) // Issue 105985
and doesn't save it on failure (return value != 0). //
*/ // Teach coverity that uv_pipe_open saves fd on success (0 return value)
// and doesn't save it on failure (return value != 0).
struct uv_pipe_s { struct uv_pipe_s {
int something; int something;
@ -35,34 +34,34 @@ int uv_pipe_open(struct uv_pipe_s *handle, int fd)
return result; return result;
} }
/* // Issue 2422
Issue 2422 //
// Teach coverity about jemalloc functions, so that it understands
// they are equivalent to malloc ones.
Teach coverity about jemalloc functions, so that it understands void *je_malloc(size_t size)
they are equivalent to malloc ones. {
*/
void *je_malloc(size_t size) {
return __coverity_alloc__(size); return __coverity_alloc__(size);
} }
void je_free(void *ptr) { void je_free(void *ptr)
{
__coverity_free__(ptr); __coverity_free__(ptr);
} }
void *je_calloc(size_t count, size_t size) { void *je_calloc(size_t count, size_t size)
{
return je_malloc(count * size); return je_malloc(count * size);
} }
void *je_realloc(void *ptr, size_t size) { void *je_realloc(void *ptr, size_t size)
{
je_free(ptr); je_free(ptr);
return je_malloc(size); return je_malloc(size);
} }
/* // Hint Coverity that adding item to d avoids losing track
* Hint Coverity that adding item to d avoids losing track // of the memory allocated for item.
* of the memory allocated for item.
*/
typedef struct {} dictitem_T; typedef struct {} dictitem_T;
typedef struct {} dict_T; typedef struct {} dict_T;
int dict_add(dict_T *d, dictitem_T *item) int dict_add(dict_T *d, dictitem_T *item)

View File

@ -161,6 +161,11 @@ void ui_refresh(void)
return; return;
} }
if (updating_screen) {
ui_schedule_refresh();
return;
}
int width = INT_MAX, height = INT_MAX; int width = INT_MAX, height = INT_MAX;
bool pum_external = true; bool pum_external = true;