[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