[prev in list] [next in list] [prev in thread] [next in thread]
List: kmail-devel
Subject: [Bug 136365] Crash on exit in autoSaveMessage
From: Bruno Virlet <bruno.virlet () gmail ! com>
Date: 2007-08-13 13:06:11
Message-ID: 20070813130611.554.qmail () ktown ! kde ! org
[Download RAW message or body]
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
http://bugs.kde.org/show_bug.cgi?id=136365
bruno.virlet gmail com changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |RESOLVED
Resolution| |FIXED
------- Additional Comments From bruno.virlet gmail com 2007-08-13 15:06 -------
SVN commit 699554 by bvirlet:
Fixes event loop bug. Credit goes to Dirk.
BUG: 108312
BUG: 148700
BUG: 143003
BUG: 136365
BUG: 90467
Most probably closed:
BUG: 143776
BUG: 147016
BUG: 137279
BUG: 136413
https://bugzilla.novell.com/show_bug.cgi?id=226462
M +10 -17 kmcomposewin.cpp
M +1 -1 kmcomposewin.h
--- branches/KDE/3.5/kdepim/kmail/kmcomposewin.cpp #699553:699554
@ -709,16 +709,22 @
if ( mAutoSaveTimer )
mAutoSaveTimer->stop();
+
connect( this, SIGNAL( applyChangesDone( bool ) ),
- this, SLOT( slotContinueAutoSave( bool ) ) );
+ this, SLOT( slotContinueAutoSave() ) );
// This method is called when KMail crashed, so don't try signing/encryption
// and don't disable controls because it is also called from a timer and
// then the disabling is distracting.
applyChanges( true, true );
// Don't continue before the applyChanges is done!
- qApp->enter_loop();
+}
+void KMComposeWin::slotContinueAutoSave()
+{
+ disconnect( this, SIGNAL( applyChangesDone( bool ) ),
+ this, SLOT( slotContinueAutoSave( bool ) ) );
+
// Ok, it's done now - continue dead letter saving
if ( mComposedMessages.isEmpty() ) {
kdDebug(5006) << "Composing the message failed." << endl;
@ -761,16 +767,9 @
}
if ( autoSaveInterval() > 0 )
- mAutoSaveTimer->start( autoSaveInterval() );
+ updateAutoSave();
}
-void KMComposeWin::slotContinueAutoSave( bool )
-{
- disconnect( this, SIGNAL( applyChangesDone( bool ) ),
- this, SLOT( slotContinueAutoSave( bool ) ) );
- qApp->exit_loop();
-}
-
//-----------------------------------------------------------------------------
void KMComposeWin::slotView(void)
{
@ -2193,18 +2192,12 @
{
kdDebug(5006) << "entering KMComposeWin::applyChanges" << endl;
- if(!mMsg) {
+ if(!mMsg || mComposer) {
kdDebug(5006) << "KMComposeWin::applyChanges() : mMsg == 0!\n" << endl;
emit applyChangesDone( false );
return;
}
- if( mComposer ) {
- kdDebug(5006) << "KMComposeWin::applyChanges() : applyChanges called twice"
- << endl;
- return;
- }
-
// Make new job and execute it
mComposer = new MessageComposer( this );
connect( mComposer, SIGNAL( done( bool ) ),
--- branches/KDE/3.5/kdepim/kmail/kmcomposewin.h #699553:699554
@ -780,7 +780,7 @
void slotContinueDoSend( bool );
void slotContinuePrint( bool );
- void slotContinueAutoSave( bool );
+ void slotContinueAutoSave();
void slotEncryptChiasmusToggled( bool );
_______________________________________________
KMail developers mailing list
KMail-devel@kde.org
https://mail.kde.org/mailman/listinfo/kmail-devel
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic