Always use UTF-8 for file names passed to GTK+ functions under MSW.

When building wxGTK under MSW, always use UTF-8 as file name encoding because
GTK+ doesn't use G_FILENAME_ENCODING there.

Add a helper wxGTK_CONV_FN() macro to hide the difference between the
platforms.

Closes #14035.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71154 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin
2012-04-08 18:10:29 +00:00
parent 527f168b34
commit c282e47d8f
8 changed files with 29 additions and 12 deletions

View File

@@ -87,6 +87,17 @@ extern const gchar *wx_pango_version_check(int major, int minor, int micro);
#define wxGTK_CONV_BACK_SYS(s) wxConvertFromGTK((s))
#endif
// Define a macro for converting wxString to char* in appropriate encoding for
// the file names.
#ifdef G_OS_WIN32
// Under MSW, UTF-8 file name encodings are always used.
#define wxGTK_CONV_FN(s) (s).utf8_str()
#else
// Under Unix use GLib file name encoding (which is also UTF-8 by default
// but may be different from it).
#define wxGTK_CONV_FN(s) (s).fn_str()
#endif
// ----------------------------------------------------------------------------
// various private helper functions
// ----------------------------------------------------------------------------