(window)
| 2537 | /************************* destroy_window *******************************/ |
| 2538 | |
| 2539 | void |
| 2540 | mar_destroy_nhwindow(window) |
| 2541 | winid window; |
| 2542 | { |
| 2543 | int i; |
| 2544 | |
| 2545 | switch (Gem_nhwindow[window].gw_type) { |
| 2546 | case NHW_TEXT: |
| 2547 | for (i = 0; i < Anz_text_lines; i++) |
| 2548 | free(text_lines[i]); |
| 2549 | null_free(text_lines); |
| 2550 | Anz_text_lines = 0; |
| 2551 | use_rip = FALSE; |
| 2552 | break; |
| 2553 | case NHW_MENU: |
| 2554 | Gem_start_menu(window, MENU_BEHAVE_STANDARD); /* delete invent_list */ |
| 2555 | test_free(Menu_title); |
| 2556 | break; |
| 2557 | case 0: /* No window available, probably an error message? */ |
| 2558 | break; |
| 2559 | default: |
| 2560 | close_window(Gem_nhwindow[window].gw_window, 0); |
| 2561 | break; |
| 2562 | } |
| 2563 | Gem_nhwindow[window].gw_window = NULL; |
| 2564 | Gem_nhwindow[window].gw_type = 0; |
| 2565 | Gem_nhwindow[window].gw_dirty = FALSE; |
| 2566 | |
| 2567 | if (window == WIN_MAP) { |
| 2568 | for (i = 0; i < ROWNO; i++) { |
| 2569 | free(map_glyphs[i]); |
| 2570 | } |
| 2571 | null_free(map_glyphs); |
| 2572 | WIN_MAP = WIN_ERR; |
| 2573 | } |
| 2574 | if (window == WIN_STATUS) { |
| 2575 | for (i = 0; i < 2; i++) |
| 2576 | free(status_line[i]); |
| 2577 | null_free(status_line); |
| 2578 | WIN_STATUS = WIN_ERR; |
| 2579 | } |
| 2580 | if (window == WIN_MESSAGE) { |
| 2581 | for (i = 0; i < msg_anz; i++) |
| 2582 | free(message_line[i]); |
| 2583 | null_free(message_line); |
| 2584 | null_free(message_age); |
| 2585 | WIN_MESSAGE = WIN_ERR; |
| 2586 | } |
| 2587 | if (window == WIN_INVEN) |
| 2588 | WIN_INVEN = WIN_ERR; |
| 2589 | } |
| 2590 | |
| 2591 | /************************* nh_poskey *******************************/ |
| 2592 |
no test coverage detected