shutdown based on platform, update accessors for editors

This commit is contained in:
scawful
2024-07-31 11:28:09 -04:00
parent b08eb303ca
commit 49fbdd4c41
4 changed files with 16 additions and 4 deletions

View File

@@ -358,8 +358,19 @@ void Controller::OnExit() {
SDL_CloseAudioDevice(audio_device_); SDL_CloseAudioDevice(audio_device_);
delete audio_buffer_; delete audio_buffer_;
} }
ImGui_ImplSDLRenderer2_Shutdown(); switch (platform_) {
ImGui_ImplSDL2_Shutdown(); case Platform::kMacOS:
case Platform::kWindows:
case Platform::kLinux:
ImGui_ImplSDLRenderer2_Shutdown();
ImGui_ImplSDL2_Shutdown();
break;
case Platform::kiOS:
// Deferred
break;
default:
break;
}
ImGui::DestroyContext(); ImGui::DestroyContext();
SDL_Quit(); SDL_Quit();
} }

View File

@@ -40,6 +40,8 @@ class Controller : public ExperimentFlags {
void DoRender() const; void DoRender() const;
void OnExit(); void OnExit();
auto master_editor() -> editor::MasterEditor & { return master_editor_; }
private: private:
struct sdl_deleter { struct sdl_deleter {
void operator()(SDL_Window *p) const { void operator()(SDL_Window *p) const {

View File

@@ -87,8 +87,6 @@ absl::Status MasterEditor::Update() {
ManageActiveEditors(); ManageActiveEditors();
End();
return absl::OkStatus(); return absl::OkStatus();
} }

View File

@@ -75,6 +75,7 @@ class MasterEditor : public SharedRom,
auto emulator() -> emu::Emulator& { return emulator_; } auto emulator() -> emu::Emulator& { return emulator_; }
auto quit() { return quit_; } auto quit() { return quit_; }
auto overworld_editor() -> OverworldEditor& { return overworld_editor_; }
private: private:
void ManageActiveEditors(); void ManageActiveEditors();