[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-core-devel
Subject:    klocale changes fatal to kde!
From:       Kurt Granroth <granroth () suse ! com>
Date:       2001-08-23 22:15:37
[Download RAW message or body]

I updated kdelibs today and noticed that *voila* everything crashes.
The backtrace is something like this:

-----------------------------------------------------------------------
Program received signal SIGSEGV, Segmentation fault.
0x4075c628 in XAddExtension () from /usr/X11R6/lib/libX11.so.6
(gdb) where
#0  0x4075c628 in XAddExtension () from /usr/X11R6/lib/libX11.so.6
#1  0x409e46ec in _XftDisplayInfoGet () from /usr/X11R6/lib/libXft.so.1
#2  0x409e479f in XftDefaultHasRender () from /usr/X11R6/lib/libXft.so.1
#3  0x403688da in qt_use_xft () from /usr/lib/qt2/lib/libqt.so.2
#4  0x403940d4 in QFontDatabase::createDatabase ()
   from /usr/lib/qt2/lib/libqt.so.2
#5  0x403970cc in QFontDatabase::QFontDatabase ()
   from /usr/lib/qt2/lib/libqt.so.2
#6  0x400e930d in KCharsetsPrivate::getAvailableCharsets (this=0x804f028)
    at kcharsets.cpp:227
#7  0x400f0263 in KCharsets::isAvailable (this=0x804f098, charset=ISO_8859_1)
    at kcharsets.cpp:564
#8  0x400f471e in KCharsets::charsetForEncoding (this=0x804f098,
    e=@0xbfffef7c, noUnicode=false) at kcharsets.cpp:845
#9  0x400c6393 in KLocale::initCharset (this=0x804ef78, config=0x804d658)
    at klocale.cpp:1545
-----------------------------------------------------------------------

Now I haven't changed Qt or X in a while so I doubted that it was #0 -
#5.  So I messed around with versions and found the problem to be in
klocale.cpp version 1.273.  It's this change:

   void KLocale::initCharset(KConfig *config)
   {
  -  KConfigGroupSaver saver(config, "Locale");
  -  m_charset = config->readEntry("Charset");
  -
  -  if (m_charset.isEmpty())
  -    {
  -      m_charset = QString::fromLatin1("iso-8859-1");
  -    }
  -  else
  -    {
  -      // ### HPB: This code should be rewritten/removed
  -      bool bOk;
  -      KGlobal::charsets()->codecForName(m_charset, bOk);
  -      // if !ok, we have a problem. it will return latin-1 then, but thats
  -      // obviously not what the user wants
  -      if(!bOk)
  -       kdWarning(173) << "charset " << m_charset
  -                      << " is not known. using ISO 8859-1 instead." << endl;
  -      //m_charset = QString::fromLatin1("iso-8859-1");
  -    }
  +  m_charset = KGlobal::charsets()->charsetForEncoding(encoding());

If I revert it, then everything is honky-dory.  With it *nothing*
works.

Is it just me?
-- 
Kurt Granroth            | http://www.granroth.org
KDE Developer/Evangelist | SuSE Labs Open Source Developer
granroth@kde.org         | granroth@suse.com
            KDE -- Conquer Your Desktop

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic