Skip to content

Fix: Memory leak#68

Merged
AnnaSasDev merged 3 commits into
corefrom
MemoryLeak
Feb 4, 2026
Merged

Fix: Memory leak#68
AnnaSasDev merged 3 commits into
corefrom
MemoryLeak

Conversation

@AnnaSasDev
Copy link
Copy Markdown
Member

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.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Memory leak observed when calls to Photino_SendWebMessage are made

1 participant