Bug 66034 - after deleting activ icontheme starting kcontol icons crashes
Summary: after deleting activ icontheme starting kcontol icons crashes
Status: RESOLVED FIXED
Alias: None
Product: kcontrol
Classification: Miscellaneous
Component: kcmicons (show other bugs)
Version: unspecified
Platform: unspecified Linux
: NOR crash
Target Milestone: ---
Assignee: Marie Loise Nolden
URL:
Keywords:
: 66036 (view as bug list)
Depends on:
Blocks:
 
Reported: 2003-10-14 20:00 UTC by Ferdinand Gassauer
Modified: 2004-02-12 12:49 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Ferdinand Gassauer 2003-10-14 20:00:56 UTC
Version:           3.1.92 (CVS >= 20031007) (using KDE 3.1.92 (CVS >= 20031007), compiled sources)
Compiler:          gcc version 3.3 20030226 (prerelease) (SuSE Linux)
OS:          Linux (i686) release 2.4.20-4GB

Hi!
I installed 2 versions of crystalsvg
they got the same "name"
so I deletet both themes, one of them was the active one
no I have no icons any more and icon control crashes

example starting kmail kiconloader complains about beeing unable to load crystalsvg.
where can I change this?

[New Thread 16384 (LWP 7265)]
0x41446387 in waitpid () from /lib/libpthread.so.0
#0  0x41446387 in waitpid () from /lib/libpthread.so.0
#1  0x407884e8 in KCrash::defaultCrashHandler(int) (sig=11) at kcrash.cpp:242
#2  0x414451ec in __pthread_sighandler () from /lib/libpthread.so.0
#3  <signal handler called>
#4  0x4074bcaa in KIconTheme::querySizes(KIcon::Group) const (this=0xfffffe00, 
    group=-1073753748)
    at /d2/src/gassauer.cvs/kdecvs/qt-copy/include/qvaluelist.h:432
#5  0x41d4ebf8 in KIconConfig::read() (this=0x81b79c8)
    at /d2/src/gassauer.cvs/kdecvs/qt-copy/include/qvaluelist.h:443
#6  0x41d4d904 in KIconConfig (this=0x81b79c8, parent=0x81ad380, 
    name=0x41d54d13 "effects") at icons.cpp:100
#7  0x41d53476 in IconModule (this=0x81ad380, parent=0x0, name=0x0)
    at main.cpp:50
#8  0x41d54171 in KGenericFactory<IconModule, QWidget>::createObject(QObject*, char const*, char const*, QStringList const&) (this=0x0, parent=0x0, name=0x0, 
    className=0x0, args=@0xbfffda10)
    at /d2/opt/kde3/include/kgenericfactory.tcc:156
#9  0x407a2e5e in KLibFactory::create(QObject*, char const*, char const*, QStringList const&) (this=0x81ac3e0, parent=0x0, name=0x0, 
    classname=0x40608ee9 "KCModule", args=@0xbfffda10) at klibloader.cpp:93
#10 0x4182a426 in createInstanceFromFactory<KCModule> (factory=0x81ac3e0, 
    parent=0x0, name=0x0, args=@0xbfffda10)
    at /d2/src/gassauer.cvs/kdecvs/qt-copy/include/qmetaobject.h:164
#11 0x418298b8 in KCModuleLoader::load(KCModuleInfo const&, QString const&, KLibLoader*, QWidget*, char const*, QStringList const&) (mod=@0x80e31b8, 
    libname=@0xbfffd990, loader=0xbfffda10, parent=0x0, name=0x0, 
    args=@0xbfffda10) at kcmoduleloader.cpp:49
#12 0x41829b33 in KCModuleLoader::loadModule(KCModuleInfo const&, bool, QWidget*, char const*, QStringList const&) (mod=@0x80e31b8, withfallback=true, 
    parent=0x0, name=0x0, args=@0xbfffda10) at kcmoduleloader.cpp:89
#13 0x417f2187 in ConfigModule::module() (this=0x80e3190)
    at /d2/src/gassauer.cvs/kdecvs/qt-copy/include/qvaluelist.h:431
#14 0x417e7c15 in DockContainer::dockModule(ConfigModule*) (this=0x8152330, 
    module=0x80e3190) at dockcontainer.cpp:105
#15 0x417e2fe1 in TopLevel::activateModule(ConfigModule*) (this=0x80cc580, 
    mod=0x80e3190) at toplevel.cpp:439
#16 0x417e00f8 in TopLevel::qt_invoke(int, QUObject*) (this=0x80cc580, 
    _id=135147920, _o=0xbfffdc40)
    at /d2/src/gassauer.cvs/kdecvs/qt-copy/include/private/qucom_p.h:312
#17 0x40bebf27 in QObject::activate_signal(QConnectionList*, QUObject*) (
    this=0x8115c90, clist=0x812ac08, o=0xbfffdc40) at kernel/qobject.cpp:2333
#18 0x417e3c17 in IndexWidget::moduleActivated(ConfigModule*) (this=0x8115c90, 
    t0=0x80e3190) at indexwidget.moc:124
#19 0x417e4167 in IndexWidget::moduleSelected(ConfigModule*) (this=0x8115c90, 
    m=0x80e3190) at indexwidget.cpp:66
#20 0x417e3d60 in IndexWidget::qt_invoke(int, QUObject*) (this=0x8115c90, 
    _id=51, _o=0xbfffdd60)
    at /d2/src/gassauer.cvs/kdecvs/qt-copy/include/private/qucom_p.h:312
#21 0x40bebf27 in QObject::activate_signal(QConnectionList*, QUObject*) (
    this=0x818fef0, clist=0x8168db8, o=0xbfffdd60) at kernel/qobject.cpp:2333
#22 0x417ec2a7 in ModuleTreeView::moduleSelected(ConfigModule*) (
    this=0x818fef0, t0=0x80e3190) at moduletreeview.moc:107
#23 0x417ed090 in ModuleTreeView::slotItemSelected(QListViewItem*) (
    this=0x818fef0, item=0x816b8e8) at moduletreeview.h:48
#24 0x417ec3d0 in ModuleTreeView::qt_invoke(int, QUObject*) (this=0x818fef0, 
    _id=104, _o=0xbfffde80)
    at /d2/src/gassauer.cvs/kdecvs/qt-copy/include/private/qucom_p.h:312
#25 0x40bebf27 in QObject::activate_signal(QConnectionList*, QUObject*) (
    this=0x818fef0, clist=0x8171308, o=0xbfffde80) at kernel/qobject.cpp:2333
#26 0x40f4536f in QListView::clicked(QListViewItem*) (this=0x818fef0, 
    t0=0x816b8e8) at .moc/debug-shared-mt/moc_qlistview.cpp:339
#27 0x40cda738 in QListView::contentsMouseReleaseEventEx(QMouseEvent*) (
    this=0x818fef0, e=0xbfffe0f0) at widgets/qlistview.cpp:4479
#28 0x40cd9c7f in QListView::contentsMouseReleaseEvent(QMouseEvent*) (
    this=0x818fef0, e=0xbfffe0f0) at widgets/qlistview.cpp:4379
#29 0x404dad04 in KListView::contentsMouseReleaseEvent(QMouseEvent*) (
    this=0x818fef0, e=0xbfffe0f0) at klistview.cpp:851
#30 0x40d0e5d7 in QScrollView::viewportMouseReleaseEvent(QMouseEvent*) (
    this=0x818fef0, e=0xbfffe5d0) at widgets/qscrollview.cpp:1746
#31 0x40d0dc82 in QScrollView::eventFilter(QObject*, QEvent*) (this=0x818fef0, 
    obj=0x8190218, e=0xbfffe5d0) at widgets/qscrollview.cpp:1502
#32 0x40cd868d in QListView::eventFilter(QObject*, QEvent*) (this=0x818fef0, 
    o=0x8190218, e=0xbfffe5d0) at widgets/qlistview.cpp:3797
#33 0x40be9b18 in QObject::activate_filters(QEvent*) (this=0x8190218, 
    e=0xbfffe5d0) at kernel/qobject.cpp:902
#34 0x40be998a in QObject::event(QEvent*) (this=0x8190218, e=0xbfffe5d0)
    at kernel/qobject.cpp:735
#35 0x40c2379d in QWidget::event(QEvent*) (this=0x8190218, e=0xbfffe5d0)
    at kernel/qwidget.cpp:4401
#36 0x40b89105 in QApplication::internalNotify(QObject*, QEvent*) (
    this=0xbfffea20, receiver=0x8190218, e=0xbfffe5d0)
    at kernel/qapplication.cpp:2582
#37 0x40b888bb in QApplication::notify(QObject*, QEvent*) (this=0xbfffea20, 
    receiver=0x8190218, e=0xbfffe5d0) at kernel/qapplication.cpp:2368
#38 0x406df8d3 in KApplication::notify(QObject*, QEvent*) (this=0xbfffea20, 
    receiver=0x8190218, event=0xbfffe5d0) at kapplication.cpp:508
#39 0x40b1ffe9 in QApplication::sendSpontaneousEvent(QObject*, QEvent*) (
    receiver=0x8190218, event=0xbfffe5d0) at kernel/qapplication.h:493
#40 0x40b19773 in QETWidget::translateMouseEvent(_XEvent const*) (
    this=0x8190218, event=0xbfffe8e0) at kernel/qapplication_x11.cpp:4350
#41 0x40b174ae in QApplication::x11ProcessEvent(_XEvent*) (this=0xbfffea20, 
    event=0xbfffe8e0) at kernel/qapplication_x11.cpp:3528
#42 0x40b31166 in QEventLoop::processEvents(unsigned) (this=0x80a3d30, flags=4)
    at kernel/qeventloop_x11.cpp:192
#43 0x40b9eace in QEventLoop::enterLoop() (this=0x80a3d30)
    at kernel/qeventloop.cpp:198
#44 0x40b9e9ea in QEventLoop::exec() (this=0x80a3d30)
    at kernel/qeventloop.cpp:145
#45 0x40b89285 in QApplication::exec() (this=0xbfffea20)
    at kernel/qapplication.cpp:2705
#46 0x417df9ba in kdemain (argc=7, argv=0x8060a48) at main.cpp:139
#47 0x4088c930 in kdeinitmain (argc=7, argv=0x8060a48) at kcontrol_dummy.cpp:2
#48 0x0804cfe2 in launch (argc=7, _name=0x806096c "kcontrol", 
    args=0x9 <Address 0x9 out of bounds>, cwd=0x0, envc=1, envs=0x0, 
    reset_env=false, tty=0x0, avoid_loops=false, 
    startup_id_str=0x80609c4 "linuxfg3;1066153945;122537;6597")
    at kinit.cpp:597
#49 0x0804dd6b in handle_launcher_request (sock=7) at kinit.cpp:1094
#50 0x0804e358 in handle_requests (waitForPid=0) at kinit.cpp:1265
#51 0x0804f203 in main (argc=3, argv=0xbffff164, envp=0xbffff174)
    at kinit.cpp:1686
#52 0x415a4857 in __libc_start_main () from /lib/libc.so.6
Comment 1 Ferdinand Gassauer 2003-10-15 07:09:37 UTC
moved my $KDE_HOME and now everything works again
old config files are available for further investigation
Comment 2 Stephan Kulow 2003-10-15 09:30:28 UTC
*** Bug 66036 has been marked as a duplicate of this bug. ***
Comment 3 Waldo Bastian 2004-02-12 12:49:28 UTC
CVS commit by waba: 

Don't crash when there is no valid icon theme (BR66034)
CCMAIL: 66034-done@bugs.kde.org


  M +24 -6     icons.cpp   1.33.2.1


--- kdebase/kcontrol/icons/icons.cpp  #1.33:1.33.2.1
@@ -166,4 +166,6 @@ void KIconConfig::initDefaults()
     mDefaultEffect[2].color = QColor(34,202,0);
 
+    const int defDefSizes[] = { 32, 22, 22, 16, 32 };
+
     KIcon::Group i;
     QStringList::ConstIterator it;
@@ -173,5 +175,8 @@ void KIconConfig::initDefaults()
         mbChanged[i] = true;
         mbAnimated[i] = false;
+        if (mpTheme)
         mSizes[i] = mpTheme->defaultSize(i);
+        else
+            mSizes[i] = defDefSizes[i];
 
         mEffects[i][0] = mDefaultEffect[0];
@@ -206,4 +211,6 @@ void KIconConfig::initDefaults()
 void KIconConfig::read()
 {
+    if (mpTheme)
+    {
     for (KIcon::Group i=KIcon::FirstGroup; i<KIcon::LastGroup; i++)
         mAvSizes[i] = mpTheme->querySizes(i);
@@ -211,4 +218,15 @@ void KIconConfig::read()
     mTheme = mpTheme->current();
     mExample = mpTheme->example();
+    }
+    else
+    {
+        const int defDefSizes[] = { 32, 22, 22, 16, 32 };
+
+        for (KIcon::Group i=KIcon::FirstGroup; i<KIcon::LastGroup; i++)
+            mAvSizes[i] = QValueList<int>(); // << defDefSizes[i]);
+
+        mTheme = QString::null;
+        mExample = QString::null;
+    }
 
     initDefaults();