changeset 35873:65f7b2fdda46

Add a warning message about @locale in G_FILENAME_ENCODING. Inform that setting G_BROKEN_FILENAMES or @locale in G_FILENAME_ENCODING (which has the same meaning, but takes priority) isn't supported. That is because of the gtk_disable_setlocale() call without which MPlayer might break.
author ib
date Fri, 15 Mar 2013 06:19:05 +0000
parents 93ab56bda68a
children 83beb3f12ffc
files gui/dialog/dialog.c help/help_mp-de.h help/help_mp-en.h
diffstat 3 files changed, 11 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/gui/dialog/dialog.c	Fri Mar 15 03:46:53 2013 +0000
+++ b/gui/dialog/dialog.c	Fri Mar 15 06:19:05 2013 +0000
@@ -43,6 +43,7 @@
 #include "gui/app/app.h"
 #include "gui/app/gui.h"
 #include "gui/interface.h"
+#include "gui/util/string.h"
 #include "gui/wm/ws.h"
 
 #include "gui/ui/actions.h"
@@ -132,6 +133,9 @@
 {
     int argc = 0;
     char *arg[3], **argv = arg;
+#ifdef CONFIG_GTK2
+    char *env;
+#endif
     GtkIconTheme *theme;
     GdkPixmap *gdkIcon;
     GdkBitmap *gdkIconMask;
@@ -147,6 +151,11 @@
 
 #ifdef CONFIG_GTK2
     gtk_disable_setlocale();
+
+    env = getenv("G_FILENAME_ENCODING");
+
+    if ((!env && getenv("G_BROKEN_FILENAMES")) || (gstrncmp(env, "@locale", 7) == 0))
+        mp_msg(MSGT_GPLAYER, MSGL_WARN, MSGTR_LOCALE_ENCODING);
 #endif
 
     gtk_init(&argc, &argv);
--- a/help/help_mp-de.h	Fri Mar 15 03:46:53 2013 +0000
+++ b/help/help_mp-de.h	Fri Mar 15 06:19:05 2013 +0000
@@ -810,6 +810,7 @@
 #define MSGTR_IDFGCVD "Sorry, es wurde kein GUI-kompatibler Ausgabetreiber gefunden.\n"
 #define MSGTR_NEEDLAVC "Sorry, du versuchst, Nicht-MPEG Dateien ohne erneute Encodierung abzuspielen.\nBitte aktiviere lavc in der DXR3/H+-Konfigurationsbox."
 #define MSGTR_ICONERROR "Icon '%s' (Größe %d) wurde nicht gefunden oder das Format wird nicht unterstützt.\n"
+#define MSGTR_LOCALE_ENCODING "@locale in G_FILENAME_ENCODING oder G_BROKEN_FILENAMES wird nicht unterstützt,\ndie Kodierung muss in G_FILENAME_ENCODING explizit angegeben werden.\n"
 
 // --- skin loader error messages
 #define MSGTR_SKIN_ERRORMESSAGE "Fehler in Skin-Konfigurationsdatei in Zeile %d: %s"
--- a/help/help_mp-en.h	Fri Mar 15 03:46:53 2013 +0000
+++ b/help/help_mp-en.h	Fri Mar 15 06:19:05 2013 +0000
@@ -604,6 +604,7 @@
 #define MSGTR_IDFGCVD "Sorry, no GUI-compatible video output driver found.\n"
 #define MSGTR_NEEDLAVC "Sorry, you cannot play non-MPEG files with your DXR3/H+ device without reencoding.\nPlease enable lavc in the DXR3/H+ configuration box."
 #define MSGTR_ICONERROR "Icon '%s' (size %d) not found or unsupported format.\n"
+#define MSGTR_LOCALE_ENCODING "@locale in G_FILENAME_ENCODING or G_BROKEN_FILENAMES isn't supported,\nencoding must be explicitly specified in G_FILENAME_ENCODING.\n"
 
 // --- skin loader error messages
 #define MSGTR_SKIN_ERRORMESSAGE "Error in skin config file on line %d: %s"