home · contact · privacy
In client, keybinding databases now store keybindings as arrays instead
[plomrogue] / src / client / windows.c
index cd3ad8ced7805fc5f2f7fcecc868b2948935a6e5..763178bf596465660b1f2ea4fa084504e7a12092 100644 (file)
@@ -11,6 +11,7 @@
 #include <stdint.h> /* uint8_t, uint16_t, uint32_t, UINT16_MAX */
 #include <stdio.h> /* sprintf() */
 #include <string.h> /* memcpy(), strlen(), strnlen(), strchr(), memset() */
+#include "../common/err_try_fgets.h" /* err_try_fgets(), err_line() */
 #include "../common/readwrite.h" /* try_fputc(), try_write(), try_fgetc() */
 #include "../common/rexit.h" /* exit_trouble(), exit_err() */
 #include "../common/try_malloc.h" /* try_malloc() */
@@ -22,8 +23,7 @@
                         * draw_win_keybindings_winconf_geometry(),
                         * draw_win_keybindings_global()
                         */
-#include "err_try_fgets.h" /* err_try_fgets(), err_line() */
-#include "keybindings.h" /* free_keybindings(), write_keybidings_to_file(),
+#include "keybindings.h" /* write_keybidings_to_file(),
                           * read_keybindings_from_file()
                           */
 #include "misc.h" /* array_append() */
@@ -551,8 +551,8 @@ static void suspend_win(struct Win * w)
 
 
 
-extern uint16_t center_offset(uint16_t position, uint16_t mapsize,
-                              uint16_t frame_size)
+extern uint16_t center_offset(uint16_t position, uint32_t mapsize,
+                              uint32_t frame_size)
 {
     uint16_t offset = 0;
     if (mapsize > frame_size)
@@ -739,7 +739,8 @@ extern void free_winDB()
     {
         struct Win * wc = get_win_by_id(id);
         free(wc->title);
-        free_keybindings(wc->kb.kbs);
+        free(wc->kb.kbs);
+        wc->kb.kbs = NULL;
     }
     free(world.winDB.ids);  /* NULL this too since add_win_to_winDB() checks  */
     world.winDB.ids = NULL; /* for it to detect its first post-DB-purge round.*/