retry with mmap when mremap fails
[libpicofe.git] / menu.c
diff --git a/menu.c b/menu.c
index 7d2b14e..f1b1957 100644 (file)
--- a/menu.c
+++ b/menu.c
@@ -1381,7 +1381,8 @@ static void draw_key_config(const me_bind_action *opts, int opt_cnt, int player_
        y = (g_menuscreen_h - 4 * me_mfont_h) / 2 - (2 + opt_cnt) * me_mfont_h / 2;\r
        if (x < me_mfont_w * 2)\r
                x = me_mfont_w * 2;\r
-\r
+       if (y < 0)\r
+               y = 0;\r
        menu_draw_begin(1, 0);\r
        if (player_idx >= 0)\r
                text_out16(x, y, "Player %i controls", player_idx + 1);\r
@@ -1507,6 +1508,10 @@ static void key_config_loop(const me_bind_action *opts, int opt_cnt, int player_
                        in_unbind_all(bind_dev_id, opts[sel].mask << mask_shift, bindtype);\r
 \r
                in_bind_key(bind_dev_id, kc, opts[sel].mask << mask_shift, bindtype, 0);\r
+\r
+               // make sure bind change is displayed\r
+               if (dev_id != -1)\r
+                       dev_id = bind_dev_id;\r
        }\r
 }\r
 \r