Fix: Memory leak#68
Merged
Merged
Conversation
Refactor UTF helper functions to return std::wstring / std::string and update callers accordingly. Call sites now capture wide strings into std::wstring locals and pass .c_str() to Win32 APIs (MessageBoxW, SetWindowText, WinToast, file dialogs, etc.), and wcscpy_s usage now uses .c_str() to avoid accidental conversions/temporary misuse. Also tightened file dialog creation signatures and added safer checks (e.g. defaultFileName empty check). These changes improve type safety, reduce heap churn, and fix potential buffer/encoding issues.
…or improved memory safety and type consistency
Introduce Photino_FreeString and Photino_FreeStringArray native exports with platform-specific free logic (Win/Linux/macOS) and expose them via C# bindings. Update InfiniFrameWindow to free native returned strings/arrays after marshaling to managed strings. Fix memory ownership and cleanup: properly free Linux dialog results, release created NSImage/NSIcons on macOS, allocate and free _iconFileName, track and delete owned custom scheme names, and clean up other allocated char* members in Photino destructor. Also add necessary includes (cstdlib, glib) and register new native symbol names in NativeDll. These changes prevent memory leaks and unify cross-platform string lifetime handling.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Resolve photino.Native#165