337 |
void |
void |
338 |
gui_window_free (t_gui_window *window) |
gui_window_free (t_gui_window *window) |
339 |
{ |
{ |
340 |
if (window->buffer->num_displayed > 0) |
if (window->buffer && (window->buffer->num_displayed > 0)) |
341 |
window->buffer->num_displayed--; |
window->buffer->num_displayed--; |
342 |
|
|
343 |
/* remove window from windows list */ |
/* remove window from windows list */ |
458 |
if (last_gui_buffer == buffer) |
if (last_gui_buffer == buffer) |
459 |
last_gui_buffer = buffer->prev_buffer; |
last_gui_buffer = buffer->prev_buffer; |
460 |
|
|
461 |
|
for (ptr_win = gui_windows; ptr_win; ptr_win = ptr_win->next_window) |
462 |
|
{ |
463 |
|
if (ptr_win->buffer == buffer) |
464 |
|
ptr_win->buffer = NULL; |
465 |
|
} |
466 |
|
|
467 |
free (buffer); |
free (buffer); |
468 |
|
|
469 |
/* always at least one buffer */ |
/* always at least one buffer */ |