diff --git a/apple/iOS/RetroArch_iOS.xcodeproj/project.xcworkspace/xcshareddata/RetroArch_iOS.xccheckout b/apple/iOS/RetroArch_iOS.xcodeproj/project.xcworkspace/xcshareddata/RetroArch_iOS.xccheckout
index b994bee2dc..f3f90aaace 100644
--- a/apple/iOS/RetroArch_iOS.xcodeproj/project.xcworkspace/xcshareddata/RetroArch_iOS.xccheckout
+++ b/apple/iOS/RetroArch_iOS.xcodeproj/project.xcworkspace/xcshareddata/RetroArch_iOS.xccheckout
@@ -7,7 +7,7 @@
IDESourceControlProjectIdentifier
6D7FAF49-495D-480E-B0C9-8C39AC77CE3C
IDESourceControlProjectName
- RetroArch_iOS
+ project
IDESourceControlProjectOriginsDictionary
6B9F0B13E5864452B91F13C09B7ED9EB989E82AD
@@ -24,21 +24,21 @@
https://github.com/libretro/common-overlays.git
IDESourceControlProjectPath
- apple/iOS/RetroArch_iOS.xcodeproj
+ apple/iOS/RetroArch_iOS.xcodeproj/project.xcworkspace
IDESourceControlProjectRelativeInstallPathDictionary
6B9F0B13E5864452B91F13C09B7ED9EB989E82AD
- ../../../../media/autoconfig
+ ../../../..media/autoconfig
76200F0D6584D865E96F58DE862E738E88B23A3C
../../../../..
A267D9543F572B4C32EC6E1B876E3B9BFE4DE8F6
- ../../../../media/assets
+ ../../../..media/assets
C3AEE01BDA902108663DB5DB9CD7916436919463
- ../../../../media/libretrodb
+ ../../../..media/libretrodb
C7C12374C7051F8843B3EFA1ACCAF2907102CCF7
../../../..
EF363D58F01B3FB341FA6C851870E60E4F080E97
- ../../../../media/overlays
+ ../../../..media/overlays
IDESourceControlProjectURL
https://github.com/libretro/RetroArch.git
diff --git a/input/input_overlay.c b/input/input_overlay.c
index 89a6b859ed..3a930248c8 100644
--- a/input/input_overlay.c
+++ b/input/input_overlay.c
@@ -157,7 +157,7 @@ struct input_overlay
};
static input_overlay_t *overlay_ptr;
-static input_overlay_state_t *overlay_state_ptr;
+static input_overlay_state_t overlay_state_ptr;
static config_file_t *overlay_conf;
input_overlay_t *input_overlay_get_ptr(void)
@@ -167,7 +167,7 @@ input_overlay_t *input_overlay_get_ptr(void)
input_overlay_state_t *input_overlay_get_state_ptr(void)
{
- return overlay_state_ptr;
+ return &overlay_state_ptr;
}
bool input_overlay_is_active(void)
@@ -1307,12 +1307,11 @@ void input_overlay_free(input_overlay_t *ol)
void input_overlay_free_ptr(void)
{
- input_overlay_free(overlay_ptr);
+ if (overlay_ptr)
+ input_overlay_free(overlay_ptr);
overlay_ptr = NULL;
- if (overlay_state_ptr)
- free(overlay_state_ptr);
- overlay_state_ptr = NULL;
+ memset(&overlay_state_ptr, 0, sizeof(overlay_state_ptr));
}
int input_overlay_new_ptr(void)
@@ -1331,11 +1330,6 @@ int input_overlay_new_ptr(void)
return 1;
}
- overlay_state_ptr = (input_overlay_state_t *)calloc(1, sizeof(*overlay_state_ptr));
-
- if (!overlay_state_ptr)
- return -1;
-
overlay_ptr = input_overlay_new(
driver->osk_enable ?
settings->osk.overlay : settings->input.overlay,
@@ -1345,10 +1339,7 @@ int input_overlay_new_ptr(void)
settings->input.overlay_scale);
if (!overlay_ptr)
- {
- free(overlay_state_ptr);
return -1;
- }
return 0;
}