Bug 61140 - Changing the window decoration crashes KControl
Summary: Changing the window decoration crashes KControl
Status: RESOLVED FIXED
Alias: None
Product: kcontrol
Classification: Miscellaneous
Component: kcmkwindecoration (show other bugs)
Version: unspecified
Platform: unspecified Linux
: NOR crash
Target Milestone: ---
Assignee: Karol Szwed
URL:
Keywords:
: 61194 (view as bug list)
Depends on:
Blocks:
 
Reported: 2003-07-12 15:45 UTC by Sandro Giessl
Modified: 2003-07-29 15:12 UTC (History)
3 users (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 Sandro Giessl 2003-07-12 15:45:09 UTC
Version:            (using KDE 3.1.9)
Compiler:          gcc version 3.2.2
OS:          Linux (i686) release 2.5.70

If I try to change the window decoration from one which includes a configuration dialog, such as Keramik, to another, kcontrol crashes after releasing the combobox.

Backtrace:
(no debugging symbols found)...(no debugging symbols found)...
(no debugging symbols found)...(no debugging symbols found)...
(no debugging symbols found)...(no debugging symbols found)...
(no debugging symbols found)...(no debugging symbols found)...
(no debugging symbols found)...(no debugging symbols found)...[New Thread 16384 (LWP 23134)]

0x413faeb9 in wait4 () from /lib/libc.so.6
#0  0x413faeb9 in wait4 () from /lib/libc.so.6
#1  0x41478214 in __DTOR_END__ () from /lib/libc.so.6
#2  0x411eeae3 in waitpid () from /lib/libpthread.so.0
#3  0x406f587d in KCrash::defaultCrashHandler(int) ()
   from /usr/kde/cvs/lib/libkdecore.so.4
#4  <signal handler called>
#5  0x4079eb05 in av_ () from /usr/kde/cvs/lib/libkdecore.so.4
#6  0x41f5c8a3 in KWinDecorationModule::resetPlugin(KConfig*, QString const&)
    () from /usr/kde/cvs/lib/kde3/kcm_kwindecoration.so
#7  0x41f5c2fa in KWinDecorationModule::slotChangeDecoration(QString const&) ()
   from /usr/kde/cvs/lib/kde3/kcm_kwindecoration.so
#8  0x41f5da56 in KWinDecorationModule::qt_invoke(int, QUObject*) ()
   from /usr/kde/cvs/lib/kde3/kcm_kwindecoration.so
#9  0x40aa8608 in QObject::activate_signal(QConnectionList*, QUObject*) ()
   from /usr/qt/3/lib/libqt-mt.so.3
#10 0x40aa8b50 in QObject::activate_signal(int, QString) ()
   from /usr/qt/3/lib/libqt-mt.so.3
#11 0x40dbb9d7 in QComboBox::activated(QString const&) ()
   from /usr/qt/3/lib/libqt-mt.so.3
#12 0x40b39a7e in QComboBox::internalActivate(int) ()
   from /usr/qt/3/lib/libqt-mt.so.3
#13 0x40dbbbb5 in QComboBox::qt_invoke(int, QUObject*) ()
   from /usr/qt/3/lib/libqt-mt.so.3
#14 0x4050d08b in KComboBox::qt_invoke(int, QUObject*) ()
   from /usr/kde/cvs/lib/libkdeui.so.4
#15 0x40aa8690 in QObject::activate_signal(QConnectionList*, QUObject*) ()
   from /usr/qt/3/lib/libqt-mt.so.3
#16 0x40aa87f0 in QObject::activate_signal(int, int) ()
   from /usr/qt/3/lib/libqt-mt.so.3
#17 0x40dc3749 in QListBox::selected(int) () from /usr/qt/3/lib/libqt-mt.so.3
#18 0x40b7060c in QListBox::mouseDoubleClickEvent(QMouseEvent*) ()
   from /usr/qt/3/lib/libqt-mt.so.3
#19 0x40adc1d0 in QWidget::event(QEvent*) () from /usr/qt/3/lib/libqt-mt.so.3
#20 0x40a4ec63 in QApplication::internalNotify(QObject*, QEvent*) ()
   from /usr/qt/3/lib/libqt-mt.so.3
#21 0x40a4e16b in QApplication::notify(QObject*, QEvent*) ()
   from /usr/qt/3/lib/libqt-mt.so.3
#22 0x40664e19 in KApplication::notify(QObject*, QEvent*) ()
   from /usr/kde/cvs/lib/libkdecore.so.4
#23 0x40b3c901 in QComboBox::eventFilter(QObject*, QEvent*) ()
   from /usr/qt/3/lib/libqt-mt.so.3
#24 0x4050a8fd in KComboBox::eventFilter(QObject*, QEvent*) ()
   from /usr/kde/cvs/lib/libkdeui.so.4
#25 0x40aa61ae in QObject::activate_filters(QEvent*) ()
   from /usr/qt/3/lib/libqt-mt.so.3
#26 0x40aa60d1 in QObject::event(QEvent*) () from /usr/qt/3/lib/libqt-mt.so.3
#27 0x40adc152 in QWidget::event(QEvent*) () from /usr/qt/3/lib/libqt-mt.so.3
#28 0x40a4ec63 in QApplication::internalNotify(QObject*, QEvent*) ()
   from /usr/qt/3/lib/libqt-mt.so.3
#29 0x40a4e16b in QApplication::notify(QObject*, QEvent*) ()
   from /usr/qt/3/lib/libqt-mt.so.3
#30 0x40664e19 in KApplication::notify(QObject*, QEvent*) ()
   from /usr/kde/cvs/lib/libkdecore.so.4
#31 0x409e9ccd in QETWidget::translateMouseEvent(_XEvent const*) ()
   from /usr/qt/3/lib/libqt-mt.so.3
#32 0x409e770d in QApplication::x11ProcessEvent(_XEvent*) ()
   from /usr/qt/3/lib/libqt-mt.so.3
#33 0x409fdfe7 in QEventLoop::processEvents(unsigned) ()
   from /usr/qt/3/lib/libqt-mt.so.3
#34 0x40a61cb6 in QEventLoop::enterLoop() () from /usr/qt/3/lib/libqt-mt.so.3
#35 0x40a61b58 in QEventLoop::exec() () from /usr/qt/3/lib/libqt-mt.so.3
#36 0x40a4eea0 in QApplication::exec() () from /usr/qt/3/lib/libqt-mt.so.3
#37 0x41abcbe9 in kdemain () from /usr/kde/cvs/lib/libkdeinit_kcontrol.so.0
#38 0x0804cee6 in strcpy ()
#39 0x0804dbf9 in strcpy ()
#40 0x0804e0dc in strcpy ()
#41 0x0804ee1a in strcpy ()
#42 0x41362dc4 in __libc_start_main () from /lib/libc.so.6
Comment 1 Dirk Mueller 2003-07-15 01:19:37 UTC
*** Bug 61194 has been marked as a duplicate of this bug. ***
Comment 2 Dirk Mueller 2003-07-15 01:36:58 UTC
this looks related to library unloading. which gcc version, which distribution, 
which glibc, which binutils? 
 
 
Comment 3 cerebro84 2003-07-15 12:56:10 UTC
I'm am the reporter of duplicate bug 61194: I have gcc 3.2.2. mdk 
9.1, glibc 2.3.1, binutils 2.13.90.0.18 
Comment 4 Sandro Giessl 2003-07-15 14:06:12 UTC
Here almost the same: gentoo with gcc-3.2.2, glibc-2.3.1-r4, binutils-2.13.90.0.18 
Comment 5 Mathieu Jobin 2003-07-20 15:15:23 UTC
Same here... 
 
Slackware 9 
gcc (GCC) 3.2.2 
/var/log/packages/glibc-2.3.1-i386-3 
/var/log/packages/binutils-2.13.90.0.18-i386-1 
 
Comment 6 Weston M. Price 2003-07-26 09:58:55 UTC
Same on my end: 
 
RedHat 9.0 
GCC 3.2.3 
glibc-2.3.2-11.9 
binutils-2.13.90.0.18-9 
linux-2.4.20-8 
 
 
Comment 7 Karol Szwed 2003-07-29 15:12:49 UTC
Subject: kdebase/kwin/kcmkwin/kwindecoration

CVS commit by gallium: 

Remove nasty static_cast<QWidget*>(QObject*) which was creating the crashes.

CCMAIL: 61140-done@bugs.kde.org


  M +2 -2      kwindecoration.cpp   1.44
  M +2 -2      kwindecoration.h   1.15


--- kdebase/kwin/kcmkwin/kwindecoration/kwindecoration.cpp  #1.43:1.44
@@ -292,5 +292,5 @@ void KWinDecorationModule::resetPlugin( 
                 {
                         allocatePlugin = (QObject* (*)(KConfig* conf, QWidget* parent))alloc_ptr;
-                        pluginObject = static_cast<QWidget*>(allocatePlugin( conf, pluginConfigWidget ));
+                        pluginObject = (QObject*)(allocatePlugin( conf, pluginConfigWidget ));
 
                         // connect required signals and slots together...

--- kdebase/kwin/kcmkwin/kwindecoration/kwindecoration.h  #1.14:1.15
@@ -92,5 +92,5 @@ class KWinDecorationModule : public KCMo
 
                 // Page 3
-                QWidget* pluginObject;
+                QObject* pluginObject;
                 QLabel* noPluginSettings;
                 QString  currentLibraryName;