On Mon, Sep 15, 2003 at 05:13:05PM +0000, Angus Leeming spake thusly:
 
> Martin Vermeer wrote:

...
 
> I have followed your prescription exactly. Nada.

...
 
> Could you perhaps compile src/messages.C with debug info.
> $ touch src/messages.C
> $ cd ${BUILDDIR}
> $ make CXXFLAGS="-g -W -Wall"

Did that. The interesting part of the backtrace:

---
#6  0x855e32a in basic_string<char, string_char_traits<char>,
__default_alloc_template<true, 0> >::terminate (this=0x87f82b0)
    at
/usr/lib/gcc-lib/i386-conectiva-linux/2.95.3/../../../../include/g++-3/std/bastring.h:331
#7  0x855e19c in basic_string<char, string_char_traits<char>,
__default_alloc_template<true, 0> >::c_str (this=0x87f82b0)
    at
/usr/lib/gcc-lib/i386-conectiva-linux/2.95.3/../../../../include/g++-3/std/bastring.h:335
#8  0x855df46 in Messages::Pimpl::get (this=0x87f82b0, [EMAIL PROTECTED])
    at messages.C:112
#9  0x818caf2 in Messages::get (this=0x87ebff4, [EMAIL PROTECTED]) at
messages.C:159
#10 0x80fc984 in _ ()
#11 0x82e36f8 in Dialogs::build () at messages.C:160
#12 0x82c56f5 in Dialogs::find () at messages.C:160
#13 0x82c5ca3 in Dialogs::hideSlot () at messages.C:160
---

Messages::Pimpl::get:

    106     string const get(string const & m) const
    107     {
    108         if (m.empty())
    109             return m;
    110 
    111         char * old = strdup(setlocale(LC_ALL, 0));
--> 112         char * n = setlocale(LC_ALL, lang_.c_str());
    113         const char* msg = gettext(m.c_str());
    114         setlocale(LC_ALL, old);
    115         free(old);
    116         // If we are unable to honour the request we just
    117         // return what we got in.
    118         return (!n ? m : string(msg));
    119     }

WTF?
 
> Which particular flavour of messages.C do you use? (#ifdef ENABLE_NLS)

Apparently ENABLE_NLS is true.
 
> >> Nonetheless, it is pretty crappy that we try and 'build' a dialog on
> >> 'hide'...
> > I was amazed to see the backtrace.
> 
> Well, I have a patch for _that_ at least. First though, let's ascertain what 
> is going wrong.
> 
> -- 
> Angus

- Martin 

Attachment: pgp00000.pgp
Description: PGP signature

Reply via email to