Skip to content

Commit

Permalink
Fix chat startup resize issues for some combinations of chat.
Browse files Browse the repository at this point in the history
  • Loading branch information
pjbroad committed Nov 14, 2021
1 parent 7e3c821 commit cae2be4
Show file tree
Hide file tree
Showing 2 changed files with 11 additions and 4 deletions.
3 changes: 1 addition & 2 deletions chat.c
Original file line number Diff line number Diff line change
Expand Up @@ -3094,8 +3094,7 @@ void create_console_input(int window_id, int widget_id, int pos_x, int pos_y, in
input_widget = widget_find(window_id, id);
input_widget->OnResize = input_field_resize;

if ((window_id >= 0) && (window_id < windows_list.num_windows))
common_non_windowed_move_input_widget(&windows_list.window[input_widget->window_id]);
input_widget_move_to_win(window_id);
}

void set_console_input_onkey(void)
Expand Down
12 changes: 10 additions & 2 deletions consolewin.c
Original file line number Diff line number Diff line change
Expand Up @@ -455,8 +455,8 @@ void create_console_root_window (int width, int height)
int input_field_resize(widget_list *w, Uint32 x, Uint32 y)
{
int console_root_win = get_id_MW(MW_CONSOLE);
window_info *console_win = &windows_list.window[console_root_win];
widget_list *console_out_w = widget_find(console_root_win, console_out_id);
window_info *console_win = NULL;
widget_list *console_out_w = NULL;
text_field *tf = w->widget_info;
text_message *msg = &(tf->buffer[tf->msg]);
int console_active_height;
Expand All @@ -468,6 +468,14 @@ int input_field_resize(widget_list *w, Uint32 x, Uint32 y)

move_console_input_on_input_resize();

// check pointers as at inital start up, as with some combinations of chat, we can get called before the console setup is complete
if ((console_root_win < 0) || (console_root_win > windows_list.num_windows))
return 0;
console_win = &windows_list.window[console_root_win];
console_out_w = widget_find(console_root_win, console_out_id);
if ((console_win == NULL) || (console_out_w == NULL))
return 0;

console_active_height = console_win->len_y - HUD_MARGIN_Y - get_input_at_bottom_height() - get_console_sep_height() - CONSOLE_Y_OFFSET;
widget_resize(console_root_win, console_out_id, console_out_w->len_x, console_active_height);
if (console_scrollbar_enabled)
Expand Down

0 comments on commit cae2be4

Please sign in to comment.