aboutsummaryrefslogtreecommitdiffstats
path: root/widgets/table/e-tree-table-adapter.c
diff options
context:
space:
mode:
Diffstat (limited to 'widgets/table/e-tree-table-adapter.c')
-rw-r--r--widgets/table/e-tree-table-adapter.c18
1 files changed, 14 insertions, 4 deletions
diff --git a/widgets/table/e-tree-table-adapter.c b/widgets/table/e-tree-table-adapter.c
index e1bda25eba..6b2f0fefd8 100644
--- a/widgets/table/e-tree-table-adapter.c
+++ b/widgets/table/e-tree-table-adapter.c
@@ -22,20 +22,21 @@
* 02111-1307, USA.
*/
-
-#ifdef HAVE_CONFIG_H
#include <config.h>
-#endif
#include <stdlib.h>
#include <string.h>
+#include <glib.h>
+#include <glib/gstdio.h>
#include <libxml/tree.h>
#include <libxml/parser.h>
+
#include "gal/util/e-util.h"
#include "gal/util/e-xml-utils.h"
-#include "e-tree-table-adapter.h"
+
#include "e-table-sorting-utils.h"
+#include "e-tree-table-adapter.h"
#define PARENT_TYPE E_TABLE_MODEL_TYPE
#define d(x)
@@ -928,7 +929,16 @@ open_file (ETreeTableAdapter *etta, const char *filename)
if (!g_file_test (filename, G_FILE_TEST_EXISTS))
return NULL;
+#ifdef G_OS_WIN32
+ {
+ gchar *locale_filename = gnome_win32_locale_filename_from_utf8 (filename);
+ doc = xmlParseFile (locale_filename);
+ g_free (locale_filename);
+ }
+#else
doc = xmlParseFile (filename);
+#endif
+
if (!doc)
return NULL;