--nextPart20654240.RPYi1ROLf8 Content-Type: multipart/mixed; boundary="Boundary-01=_swPbCbKwoBbpQKg" Content-Transfer-Encoding: 7bit Content-Disposition: inline --Boundary-01=_swPbCbKwoBbpQKg Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Content-Disposition: inline Hi all, let me start with KWord first. At the moment, spellchecking with KWord-CVS works only once. The reason is after spellchecking is finished KWord does n= ot delete the broker. The attached patch fixes it, but KWord crashes on "Finished" button in spellchecker dialog. Read on. Now, KSpell2. Pressing "Finished" button in KSpell2 dialog it emits stop and done signals. With the current implementation of spellchecking in KWord (pl= us attached patch) and KPresenter these apps after catching stop signal delete the broker. So, emitting done( d->checker->filter()->buffer() ) crashes the app. The attached patch fixes this too. Zack, David what do you think? Can we emit only stop signal? While we are at it, IMHO "Finish" is better than "Finished". Is it just my taste? Cheers, Mashrab.=20 =2D-=20 Mashrab Kuvatov Ph.D student University of Bremen, IUP Home-page: www.sat.uni-bremen.de/members/mashrab PGP key: www.uni-bremen.de/~kmashrab/kmashrab.asc --Boundary-01=_swPbCbKwoBbpQKg Content-Type: text/x-diff; charset="utf-8"; name="dialog.cpp.patch" Content-Transfer-Encoding: quoted-printable Content-Disposition: attachment; filename="dialog.cpp.patch" ? dialog.cpp.patch Index: ui/dialog.cpp =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /home/kde/kdelibs/kspell2/ui/dialog.cpp,v retrieving revision 1.12.2.1 diff -u -3 -p -r1.12.2.1 dialog.cpp =2D-- ui/dialog.cpp 24 Apr 2005 09:20:57 -0000 1.12.2.1 +++ ui/dialog.cpp 25 Apr 2005 13:53:41 -0000 @@ -148,7 +148,10 @@ void Dialog::slotFinished() kdDebug()<<"void Dialog::slotFinished() \n"; emit stop(); //FIXME: should we emit done here? =2D emit done( d->checker->filter()->buffer() ); + //IMHO, apps may delete broker after catching any of stop, + //done or cancel signals. So, if we emit two such signals + //one after another, app crashes. + //emit done( d->checker->filter()->buffer() ); accept(); } =20 --Boundary-01=_swPbCbKwoBbpQKg Content-Type: text/x-diff; charset="utf-8"; name="kwview.cc.patch" Content-Transfer-Encoding: quoted-printable Content-Disposition: attachment; filename="kwview.cc.patch" Index: kwview.cc =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /home/kde/koffice/kword/kwview.cc,v retrieving revision 1.1090 diff -u -3 -p -r1.1090 kwview.cc =2D-- kwview.cc 25 Apr 2005 11:46:07 -0000 1.1090 +++ kwview.cc 25 Apr 2005 13:47:25 -0000 @@ -5555,6 +5555,8 @@ void KWView::clearSpellChecker(bool canc =20 delete m_spell.textIterator; m_spell.textIterator =3D 0L; + delete m_spell.kospell; + m_spell.kospell =3D 0; if ( m_spell.macroCmdSpellCheck ) { if ( !cancelSpellCheck ) --Boundary-01=_swPbCbKwoBbpQKg-- --nextPart20654240.RPYi1ROLf8 Content-Type: application/pgp-signature -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.4 (GNU/Linux) iD8DBQBCbPwwiSmHahjHWuoRAnnyAKCKGfZK3ZuXRK4n/yyPEDSLPWhGtgCfcc2G ApzyQ9+5tPQgkL8zf7Ikrdo= =aYWi -----END PGP SIGNATURE----- --nextPart20654240.RPYi1ROLf8--