summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Pavone <pavone@retrodev.com>2020-05-08 16:52:32 -0700
committerMichael Pavone <pavone@retrodev.com>2020-05-08 16:52:32 -0700
commit96566fbaea7ff47347fc1a3b5b882b29ef80f459 (patch)
tree928cc305ad2ae605719a555326d9ea160bfab57c
parent02cac8e5336fbf4b9b0fb6185df79e5b33e4c9ee (diff)
Avoid expensive re-init from switching to external sync after render_init has been called
-rw-r--r--blastem.c3
-rwxr-xr-xrender_sdl.c5
2 files changed, 7 insertions, 1 deletions
diff --git a/blastem.c b/blastem.c
index f1927f2..3d3a30d 100644
--- a/blastem.c
+++ b/blastem.c
@@ -639,6 +639,9 @@ int main(int argc, char ** argv)
fullscreen = !fullscreen;
}
if (!headless) {
+ if (reader_addr) {
+ render_set_external_sync(1);
+ }
render_init(width, height, "BlastEm", fullscreen);
render_set_drag_drop_handler(on_drag_drop);
}
diff --git a/render_sdl.c b/render_sdl.c
index 79e9b37..bdc8117 100755
--- a/render_sdl.c
+++ b/render_sdl.c
@@ -265,7 +265,10 @@ void render_set_external_sync(uint8_t ext_sync_on)
{
if (ext_sync_on != external_sync) {
external_sync = ext_sync_on;
- render_config_updated();
+ if (windowed_width) {
+ //only do this if render_init has already been called
+ render_config_updated();
+ }
}
}