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
pgp00000.pgp
Description: PGP signature