From 00e36399e4ed327add969bcd0d4f2f907545b3ea Mon Sep 17 00:00:00 2001 From: Don Sanders Date: Thu, 23 Mar 2000 21:12:40 +0000 Subject: [PATCH] Hack to prevent segfault on exit Tried to get custom font sizes working again but failed Another fix for DnD svn path=/trunk/kdenetwork/kmail/; revision=44402 --- kmfoldertree.cpp | 2 ++ kmreaderwin.cpp | 16 ++++++++++++++-- 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/kmfoldertree.cpp b/kmfoldertree.cpp index 38968582e..13c4b896d 100644 --- a/kmfoldertree.cpp +++ b/kmfoldertree.cpp @@ -473,6 +473,7 @@ void KMFolderTree::doFolderSelected( QListViewItem* qlvi ) KMFolderTreeItem* fti = static_cast< KMFolderTreeItem* >(qlvi); KMFolder* folder = fti->folder; + clearSelection(); setCurrentItem( qlvi ); setSelected( qlvi, TRUE ); if (!folder || folder->isDir()) { @@ -762,6 +763,7 @@ void KMFolderTree::contentsDropEvent( QDropEvent *e ) // Begin this wasn't necessary in QT 2.0.2 dropItem = 0L; + clearSelection(); setCurrentItem( oldCurrent ); setSelected( oldCurrent, TRUE ); connect(this, SIGNAL(currentChanged(QListViewItem*)), diff --git a/kmreaderwin.cpp b/kmreaderwin.cpp index 9ad275691..2abe1f8a5 100644 --- a/kmreaderwin.cpp +++ b/kmreaderwin.cpp @@ -88,6 +88,7 @@ KMReaderWin::KMReaderWin(QWidget *aParent, const char *aName, int aFlags) //----------------------------------------------------------------------------- KMReaderWin::~KMReaderWin() { + delete mViewer; //hack to prevent segfault on exit if (mAutoDelete) delete mMsg; } @@ -138,8 +139,8 @@ void KMReaderWin::readConfig(void) c2 = config->readColorEntry("LinkColor",&c2); c3 = config->readColorEntry("FollowedColor",&c3); // ### FIXME: stylesheet - // mViewer->setDefaultBGColor(c4); - // mViewer->setDefaultTextColors(c1,c2,c3); + // mViewer->setDefaultBGColor(c4); + // mViewer->setDefaultTextColors(c1,c2,c3); } else { // ### FIXME: stylesheet @@ -163,6 +164,17 @@ void KMReaderWin::readConfig(void) fntSize = KGlobal::generalFont().pointSize(); mBodyFamily = KGlobal::generalFont().family(); } + + int fontsizes[7]; + mViewer->resetFontSizes(); + diff = fntSize - mViewer->fontSizes()[3]; + if (mViewer->fontSizes()[0]+diff > 0) { + for (i=0;i<7; i++) + fontsizes[i] = mViewer->fontSizes()[i] + diff; + mViewer->setFontSizes(fontsizes); + } + + /* ### FIXME int fontsizes[7]; int fixedFontSizes[7];