On Wed, Jul 11, 2007 at 03:59:51PM +0200, Pavel Sanda wrote:
> > All is OK with 1.5.0rc2, but with 1.5.0-svn, 
> > when I want to edit the settings of a template document
> > on Solaris 2.8/Qt4.3.1, I get this:
> > 
> > Caught "normal" exception: locale::facet::_S_create_c_locale name not valid
> 
> could not be this somehow related to 
> http://bugzilla.lyx.org/show_bug.cgi?id=2738
> (ie does it happen before 18988 changeset) ?

Yes, this is r18988 striking again :(

I don't think that this is related to the platform but rather to the
compiler version. I think that gcc 3.x is missing some locale facets.

Jean-Pierre, does the attached patch solve the bug for you?

Anyway, after r18988 LyX is not so much forgiving about wrong locales.
On Linux, try for example:

$ env LC_ALL=foo ./src/lyx-qt4

and you will get that exception, too.

-- 
Enrico
Index: src/frontends/controllers/frontend_helpers.cpp
===================================================================
--- src/frontends/controllers/frontend_helpers.cpp      (revision 19044)
+++ src/frontends/controllers/frontend_helpers.cpp      (working copy)
@@ -1108,7 +1108,7 @@
                                      LanguagePair, bool>
 {
 public:
-#if !defined(USE_WCHAR_T) && defined(__GNUC__)
+#if defined(__GNUC__) && (!defined(USE_WCHAR_T) || __GNUC__ < 4)
        bool operator()(LanguagePair const & lhs,
                        LanguagePair const & rhs) const {
                return lhs.first < rhs.first;

Reply via email to