diff options
Diffstat (limited to 'server/TracyFileselector.cpp')
-rw-r--r-- | server/TracyFileselector.cpp | 29 |
1 files changed, 27 insertions, 2 deletions
diff --git a/server/TracyFileselector.cpp b/server/TracyFileselector.cpp index d4783568..be98f897 100644 --- a/server/TracyFileselector.cpp +++ b/server/TracyFileselector.cpp @@ -11,6 +11,8 @@ namespace tracy::Fileselector { +static bool s_hasFailed = false; + void Init() { #if !defined TRACY_NO_FILESELECTOR && !defined __EMSCRIPTEN__ @@ -25,6 +27,19 @@ void Shutdown() #endif } +bool HasFailed() +{ + if( s_hasFailed ) + { + s_hasFailed = false; + return true; + } + else + { + return false; + } +} + #ifdef __EMSCRIPTEN__ static std::function<void(const char*)> s_openFileCallback; @@ -35,7 +50,7 @@ extern "C" int nativeOpenFile() } #endif -bool OpenFile( const char* ext, const char* desc, std::function<void(const char*)> callback ) +static bool OpenFileImpl( const char* ext, const char* desc, std::function<void(const char*)> callback ) { #ifndef TRACY_NO_FILESELECTOR # ifdef __EMSCRIPTEN__ @@ -73,7 +88,7 @@ bool OpenFile( const char* ext, const char* desc, std::function<void(const char* return false; } -bool SaveFile( const char* ext, const char* desc, std::function<void(const char*)> callback ) +static bool SaveFileImpl( const char* ext, const char* desc, std::function<void(const char*)> callback ) { #if !defined TRACY_NO_FILESELECTOR && !defined __EMSCRIPTEN__ nfdu8filteritem_t filter = { desc, ext }; @@ -88,4 +103,14 @@ bool SaveFile( const char* ext, const char* desc, std::function<void(const char* return false; } +void OpenFile( const char* ext, const char* desc, std::function<void(const char*)> callback ) +{ + if( !OpenFileImpl( ext, desc, callback ) ) s_hasFailed = true; +} + +void SaveFile( const char* ext, const char* desc, std::function<void(const char*)> callback ) +{ + if( !SaveFileImpl( ext, desc, callback ) ) s_hasFailed = true; +} + } |