From a24692b4beb59240578dec19a496ace30f974a27 Mon Sep 17 00:00:00 2001 From: WerWolv Date: Tue, 20 Aug 2024 20:08:01 +0200 Subject: [PATCH] fix: Revert ndf-extended changes for now to fix file dialogs on Linux --- lib/libimhex/source/helpers/fs.cpp | 44 +++--------------------------- lib/third_party/nativefiledialog | 2 +- 2 files changed, 5 insertions(+), 41 deletions(-) diff --git a/lib/libimhex/source/helpers/fs.cpp b/lib/libimhex/source/helpers/fs.cpp index 60647d5c5..caf39c33b 100644 --- a/lib/libimhex/source/helpers/fs.cpp +++ b/lib/libimhex/source/helpers/fs.cpp @@ -25,40 +25,6 @@ #else #include #include - #if defined(OS_WINDOWS) - #define GLFW_EXPOSE_NATIVE_WIN32 - #endif - #if defined(OS_MACOS) - // macOS platform headers can't be compiled with gcc - #define GLFW_NATIVE_INCLUDE_NONE - typedef uint32_t CGDirectDisplayID; - typedef void *id; - typedef void NSWindow; - #define GLFW_EXPOSE_NATIVE_COCOA - #endif - #if defined(OS_LINUX) - #if GLFW_VERSION_MAJOR == 3 && GLFW_VERSION_MINOR >= 4 - #define GLFW_EXPOSE_NATIVE_X11 - #endif - #endif - - #pragma GCC diagnostic push - #pragma GCC diagnostic ignored "-Wunused-parameter" - #include - #pragma GCC diagnostic pop - - #if defined(OS_LINUX) && GLFW_VERSION_MAJOR == 3 && GLFW_VERSION_MINOR >= 4 - #if GLFW_VERSION_MAJOR == 3 && GLFW_VERSION_MINOR >= 4 - #undef GLFW_EXPOSE_NATIVE_X11 - #endif - #endif - #if defined(OS_MACOS) - #undef GLFW_EXPOSE_NATIVE_COCOA - #undef GLFW_NATIVE_INCLUDE_NONE - #endif - #if defined(OS_WINDOWS) - #undef GLFW_EXPOSE_NATIVE_WIN32 - #endif #endif #include @@ -268,22 +234,20 @@ namespace hex::fs { NFD::UniquePathU8 outPath; NFD::UniquePathSet outPaths; nfdresult_t result = NFD_ERROR; - nfdwindowhandle_t nativeWindow{}; - NFD_GetNativeWindowFromGLFWWindow(ImHexApi::System::getMainWindowHandle(), &nativeWindow); // Open the correct file dialog based on the mode switch (mode) { case DialogMode::Open: if (multiple) - result = NFD::OpenDialogMultiple(outPaths, validExtensionsNfd.data(), validExtensionsNfd.size(), defaultPath.empty() ? nullptr : defaultPath.c_str(), nativeWindow); + result = NFD::OpenDialogMultiple(outPaths, validExtensionsNfd.data(), validExtensionsNfd.size(), defaultPath.empty() ? nullptr : defaultPath.c_str()); else - result = NFD::OpenDialog(outPath, validExtensionsNfd.data(), validExtensionsNfd.size(), defaultPath.empty() ? nullptr : defaultPath.c_str(), nativeWindow); + result = NFD::OpenDialog(outPath, validExtensionsNfd.data(), validExtensionsNfd.size(), defaultPath.empty() ? nullptr : defaultPath.c_str()); break; case DialogMode::Save: - result = NFD::SaveDialog(outPath, validExtensionsNfd.data(), validExtensionsNfd.size(), defaultPath.empty() ? nullptr : defaultPath.c_str(), nullptr, nativeWindow); + result = NFD::SaveDialog(outPath, validExtensionsNfd.data(), validExtensionsNfd.size(), defaultPath.empty() ? nullptr : defaultPath.c_str()); break; case DialogMode::Folder: - result = NFD::PickFolder(outPath, defaultPath.empty() ? nullptr : defaultPath.c_str(), nativeWindow); + result = NFD::PickFolder(outPath, defaultPath.empty() ? nullptr : defaultPath.c_str()); break; } diff --git a/lib/third_party/nativefiledialog b/lib/third_party/nativefiledialog index c099aaee9..86d5f2005 160000 --- a/lib/third_party/nativefiledialog +++ b/lib/third_party/nativefiledialog @@ -1 +1 @@ -Subproject commit c099aaee9a24a35ad93e06513b41aeb503d848d0 +Subproject commit 86d5f2005fe1c00747348a12070fec493ea2407e