Martin Vermeer <[EMAIL PROTECTED]> writes: | On Tue, Sep 16, 2003 at 09:49:52PM +0000, Angus Leeming spake thusly: | >> Martin Vermeer wrote: >> > Hmmmm... is it possible that lang_ is being accessed after the >> > containing class Messages::Pimpl has been destroyed? >> >> If so, I guess that this is the kludge. Thereafter we'd have to >> ascertain _why_? >> >> string const Messages::get(string const & msg) const >> { >> return pimpl_.get() ? pimpl_->get(msg) : msg; >> }
And you are sure that this is what happens? Do we have any static objects? (we shouldn't) Global objects? | It turns out that the trouble is caused by three localized strings: > | 1) in frontends/xforms/dialogs.C the build() routine: > | 153 dialog->bc().view(new xformsBC(dialog->bc())); > | The call to xformsBC has two default string parameters, see | frontends/xforms/xformsBC.h: > | 22 class xformsBC : public GuiBC<FL_OBJECT, FL_OBJECT> { | 23 public: | 24 /// | 25 xformsBC(ButtonController const &, | 26 string const & = _("Cancel"), string const & = _("Close")); this is potentially bad... might be called too early. | BTW the above kludge does *not* work. No difference. So the | Messages::Pimpl instantiation is existing, but lang_ is messed up. And the value of lang_? -- Lgb