diff --git a/src/sdl-instead/game.c b/src/sdl-instead/game.c index a7c1522..77d023a 100644 --- a/src/sdl-instead/game.c +++ b/src/sdl-instead/game.c @@ -1534,7 +1534,7 @@ int game_highlight(int x, int y, int on) static struct el *oel = NULL; static xref_t hxref = NULL; xref_t xref = NULL; - if (on) { + if (on == 1) { xref = look_xref(x, y, &elem); if (xref && opt_hl && !xref_get_active(xref)) { xref_set_active(xref, 1); @@ -1545,7 +1545,8 @@ int game_highlight(int x, int y, int on) if (hxref != xref && oel) { if (hxref != use_xref && xref_get_active(hxref)) { xref_set_active(hxref, 0); - game_xref_update(hxref, oel->x, oel->y); + if (on != -1) + game_xref_update(hxref, oel->x, oel->y); } hxref = NULL; } @@ -1558,6 +1559,8 @@ void mouse_reset(int hl) { if (hl) game_highlight(-1, -1, 0); + else + game_highlight(-1, -1, -1); disable_use(); motion_mode = 0; old_xref = old_el = NULL;