diff --git a/input/input_overlay.c b/input/input_overlay.c index 79d7ac51ec..1a740cff8c 100644 --- a/input/input_overlay.c +++ b/input/input_overlay.c @@ -458,7 +458,7 @@ bool input_overlay_load_overlays_resolve_iterate(input_overlay_t *ol) if (!ol) return false; - not_done = ol->pos < ol->size; + not_done = ol->resolve_pos < ol->size; if (!not_done) { @@ -466,13 +466,13 @@ bool input_overlay_load_overlays_resolve_iterate(input_overlay_t *ol) return true; } - if (!input_overlay_resolve_targets(ol->overlays, ol->pos, ol->size)) + if (!input_overlay_resolve_targets(ol->overlays, ol->resolve_pos, ol->size)) { RARCH_ERR("[Overlay]: Failed to resolve next targets.\n"); goto error; } - ol->pos += 1; + ol->resolve_pos += 1; return true; error: @@ -510,7 +510,7 @@ bool input_overlay_load_overlays_iterate(input_overlay_t *ol) if (!not_done) { - ol->pos = 0; + ol->resolve_pos = 0; ol->state = OVERLAY_STATUS_DEFERRED_LOADING_RESOLVE; return true; } diff --git a/input/input_overlay.h b/input/input_overlay.h index 588cd925e4..83efd240d4 100644 --- a/input/input_overlay.h +++ b/input/input_overlay.h @@ -186,6 +186,7 @@ struct input_overlay size_t index; size_t size; size_t pos; + size_t resolve_pos; unsigned next_index; char *overlay_path;