Following Waldo's fix yesterday for reads/writes in deleted KFileMetaInfoItem, I can now shut down kate cleanly, using File->Quit. However, if I instead shut it down by clicking on the "X" in the top-right hand corner of the window (the usual "make this window go away button"), I consistently get the following 3 complaints (they occur in the order shown). Knowing nothing about KDE internals (I am a compiler writer) I have no idea if this is a Qt problem or a KDE problem. Once again this is with qt-copy, kdelibs and kdebase from CVS as of 20:00 GMT on 31 Jan (thursday evening). I hope someone can make sense of it from the trace below. (31878 is the pid of the traced process; no other significance). J Kate (View): >>>> saveAllDocsAtCloseDown() DONE kio (KDirLister): -KDirLister kio (KDirLister): [void KDirLister::stop()] kio (KDirListerCache): [void KDirListerCache::stop(KDirLister *)] 0x4496c958 kio (KDirListerCache): [void KDirListerCache::forgetDirs(KDirLister *)] 0x4496c958 kio (KDirListerCache): removing from kdirwatch 0x4497204c /home/kdebuilder kio (KDirWatch): Cancelled FAMReq 4 kio (KDirWatch): Removed Dir /home/kdebuilder [KDirWatch-1] kio (KDirListerCache): [void KDirListerCache::forgetDirs(KDirLister *)] 0x4496c958 item moved into cache: file:/home/kdebuilder ==31878== Invalid write of size 4 ==31878== at 0x4159B5E7: QPopupMenu::menuDelPopup(QPopupMenu *) (widgets/qpopupmenu.cpp:382) ==31878== by 0x41598F06: QMenuData::removeItemAt(int) (widgets/qmenudata.cpp:757) ==31878== by 0x40F0E0EE: KAction::unplug(QWidget *) (kaction.cpp:569) ==31878== by 0x40F10BA8: KAction::unplugAll() (kaction.cpp:945) ==31878== Address 0x45A6278C is 156 bytes inside a block of size 208 free'd ==31878== at 0x4004E2D7: __builtin_delete (ri_clientmalloc.c:620) ==31878== by 0x414CE5F4: QObject::~QObject(..) (kernel/qobject.cpp:438) ==31878== by 0x414F7B11: QWidget::~QWidget(..) (kernel/qwidget.cpp:854) ==31878== by 0x4181CCCB: ??? (.moc/debug-mt/moc_qframe.cpp:29) ==31878== Invalid read of size 4 ==31878== at 0x414D0290: QObject::disconnect(const QObject *, const char *, const QObject *, const char *) (kernel/qobject.cpp:1724) ==31878== by 0x41819192: ??? (.moc/debug-mt/../../kernel/qobject.h:216) ==31878== by 0x4159B60A: QPopupMenu::menuDelPopup(QPopupMenu *) (widgets/qpopupmenu.cpp:384) ==31878== by 0x41598F06: QMenuData::removeItemAt(int) (widgets/qmenudata.cpp:757) ==31878== Address 0x45A62700 is 16 bytes inside a block of size 208 free'd ==31878== at 0x4004E2D7: __builtin_delete (ri_clientmalloc.c:620) ==31878== by 0x414CE5F4: QObject::~QObject(..) (kernel/qobject.cpp:438) ==31878== by 0x414F7B11: QWidget::~QWidget(..) (kernel/qwidget.cpp:854) ==31878== by 0x4181CCCB: ??? (.moc/debug-mt/moc_qframe.cpp:29) ==31878== Invalid read of size 4 ==31878== at 0x414D0290: QObject::disconnect(const QObject *, const char *, const QObject *, const char *) (kernel/qobject.cpp:1724) ==31878== by 0x41819192: ??? (.moc/debug-mt/../../kernel/qobject.h:216) ==31878== by 0x4159B629: QPopupMenu::menuDelPopup(QPopupMenu *) (widgets/qpopupmenu.cpp:386) ==31878== by 0x41598F06: QMenuData::removeItemAt(int) (widgets/qmenudata.cpp:757) ==31878== Address 0x45A62700 is 16 bytes inside a block of size 208 free'd ==31878== at 0x4004E2D7: __builtin_delete (ri_clientmalloc.c:620) ==31878== by 0x414CE5F4: QObject::~QObject(..) (kernel/qobject.cpp:438) ==31878== by 0x414F7B11: QWidget::~QWidget(..) (kernel/qwidget.cpp:854) ==31878== by 0x4181CCCB: ??? (.moc/debug-mt/moc_qframe.cpp:29) kio (KDirListerCache): -KDirListerCache kdecore (KLibLoader): The KLibLoader contains the library libkatepart (0x4473ff48) kdecore (KLibLoader): Factory still has object 0x45bbaef8 unnamed Library = libkatepart kparts: Part::~Part 0x45bbaef8