From 289e4db0bd6f2c7077ac6c923c46f0a7eec454d5 Mon Sep 17 00:00:00 2001 From: Matt Borgerson Date: Fri, 26 Dec 2025 15:35:36 -0700 Subject: [PATCH] ui: Replace xemu_open_web_browser with SDL_OpenURL --- ui/xemu-os-utils-linux.c | 11 ----------- ui/xemu-os-utils-macos.m | 5 ----- ui/xemu-os-utils-windows.c | 6 ------ ui/xemu-os-utils.h | 1 - ui/xui/compat.cc | 2 +- ui/xui/main-menu.cc | 4 ++-- ui/xui/menubar.cc | 2 +- ui/xui/widgets.cc | 2 +- 8 files changed, 5 insertions(+), 28 deletions(-) diff --git a/ui/xemu-os-utils-linux.c b/ui/xemu-os-utils-linux.c index 5e77859ee7..54f89c27a8 100644 --- a/ui/xemu-os-utils-linux.c +++ b/ui/xemu-os-utils-linux.c @@ -84,14 +84,3 @@ const char *xemu_get_os_info(void) return os_info; } - -void xemu_open_web_browser(const char *url) -{ - char *cmd = g_strdup_printf("xdg-open %s", url); - int status = system(cmd); - if (status < 0) { - fprintf(stderr, "Failed to run: %s\n", cmd); - } - - free(cmd); -} diff --git a/ui/xemu-os-utils-macos.m b/ui/xemu-os-utils-macos.m index de93130a7b..34dab13846 100644 --- a/ui/xemu-os-utils-macos.m +++ b/ui/xemu-os-utils-macos.m @@ -25,8 +25,3 @@ const char *xemu_get_os_info(void) { return [[[NSProcessInfo processInfo] operatingSystemVersionString] UTF8String]; } - -void xemu_open_web_browser(const char *url) -{ - [[NSWorkspace sharedWorkspace] openURL:[NSURL URLWithString:[NSString stringWithUTF8String:url]]]; -} diff --git a/ui/xemu-os-utils-windows.c b/ui/xemu-os-utils-windows.c index 58c763e4af..2e13fc284b 100644 --- a/ui/xemu-os-utils-windows.c +++ b/ui/xemu-os-utils-windows.c @@ -59,9 +59,3 @@ const char *xemu_get_os_info(void) return buffer; } - - -void xemu_open_web_browser(const char *url) -{ - ShellExecute(0, "open", url, 0, 0, SW_SHOW); -} diff --git a/ui/xemu-os-utils.h b/ui/xemu-os-utils.h index d2dde9370d..3c37864694 100644 --- a/ui/xemu-os-utils.h +++ b/ui/xemu-os-utils.h @@ -25,7 +25,6 @@ extern "C" { #endif const char *xemu_get_os_info(void); -void xemu_open_web_browser(const char *url); #ifndef _WIN32 #ifdef CONFIG_CPUID_H diff --git a/ui/xui/compat.cc b/ui/xui/compat.cc index d0405389f5..74eec570a7 100644 --- a/ui/xui/compat.cc +++ b/ui/xui/compat.cc @@ -136,7 +136,7 @@ void CompatibilityReporter::Draw() ImGui::PopFont(); ImGui::SameLine(); if (ImGui::Button("Get Token")) { - xemu_open_web_browser("https://reports.xemu.app"); + SDL_OpenURL("https://reports.xemu.app"); } ImGui::NextColumn(); diff --git a/ui/xui/main-menu.cc b/ui/xui/main-menu.cc index e11a115d79..296ef98d77 100644 --- a/ui/xui/main-menu.cc +++ b/ui/xui/main-menu.cc @@ -975,7 +975,7 @@ void MainMenuNetworkView::DrawPcapOptions(bool appearing) ImGui::Dummy(ImVec2(0,10*g_viewport_mgr.m_scale)); ImGui::SetCursorPosX((ImGui::GetWindowWidth()-120*g_viewport_mgr.m_scale)/2); if (ImGui::Button("Install npcap", ImVec2(120*g_viewport_mgr.m_scale, 0))) { - xemu_open_web_browser("https://nmap.org/npcap/"); + SDL_OpenURL("https://nmap.org/npcap/"); } #endif } else { @@ -1643,7 +1643,7 @@ void MainMenuAboutView::Draw() ImGui::Text("Visit"); ImGui::SameLine(); if (ImGui::SmallButton("https://xemu.app")) { - xemu_open_web_browser("https://xemu.app"); + SDL_OpenURL("https://xemu.app"); } ImGui::SameLine(); ImGui::Text("for more information"); diff --git a/ui/xui/menubar.cc b/ui/xui/menubar.cc index d271263ac2..799f0da1c7 100644 --- a/ui/xui/menubar.cc +++ b/ui/xui/menubar.cc @@ -231,7 +231,7 @@ void ShowMainMenu() if (ImGui::BeginMenu("Help")) { if (ImGui::MenuItem("Help", NULL)) { - xemu_open_web_browser("https://xemu.app/docs/getting-started/"); + SDL_OpenURL("https://xemu.app/docs/getting-started/"); } ImGui::MenuItem("Report Compatibility...", NULL, diff --git a/ui/xui/widgets.cc b/ui/xui/widgets.cc index 67430ecda8..6fea4c6308 100644 --- a/ui/xui/widgets.cc +++ b/ui/xui/widgets.cc @@ -517,7 +517,7 @@ void Hyperlink(const char *text, const char *url) ImGui::GetWindowDrawList()->AddLine(min, max, col, 1.0 * g_viewport_mgr.m_scale); if (ImGui::IsItemClicked()) { - xemu_open_web_browser(url); + SDL_OpenURL(url); } }