[Libreoffice-commits] core.git: Branch 'libreoffice-4-3' - sw/source
Jacobo Aragunde Pérez
jaragunde at igalia.com
Wed Jun 25 05:23:41 PDT 2014
sw/source/core/txtnode/txtedt.cxx | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)
New commits:
commit 032a1ebc8082254887745e76e0be5760c73157e4
Author: Jacobo Aragunde Pérez <jaragunde at igalia.com>
Date: Thu Jun 19 11:27:04 2014 +0200
fdo#71558: Notify mispelled word to accessibility
This patch modifies the spell checking code to trigger an invalidation
of the accessible paragraph attributes when a mistake is detected, so
the 'text-attributes-changed' event is released.
Notice that 'text-spelling' is not an actual attribute of the text for
LibreOffice, that's why this didn't work in first place.
Finally, notice too that when the user disables the automatic spell
checking, no 'text-attributes-changed' event is released, and when it
is enabled again it will only release 'text-attributes-changed' events
in case some of the newly typed text is misspelled.
Change-Id: Ie792f040d84010cadcd41486d948a5e29421228f
(cherry picked from commit b846847121a29b8acd9d48ef1a795ea3b9d6d974)
Reviewed-on: https://gerrit.libreoffice.org/9899
Reviewed-by: Caolán McNamara <caolanm at redhat.com>
Tested-by: Caolán McNamara <caolanm at redhat.com>
diff --git a/sw/source/core/txtnode/txtedt.cxx b/sw/source/core/txtnode/txtedt.cxx
index 8ed3059..dd531b8 100644
--- a/sw/source/core/txtnode/txtedt.cxx
+++ b/sw/source/core/txtnode/txtedt.cxx
@@ -47,6 +47,7 @@
#include <ndtxt.hxx>
#include <txtfrm.hxx>
#include <SwGrammarMarkUp.hxx>
+#include <rootfrm.hxx>
#include <txttypes.hxx>
#include <breakit.hxx>
@@ -1292,7 +1293,7 @@ SwRect SwTxtFrm::_AutoSpell( const SwCntntNode* pActNode, const SwViewOption& rV
bool bFresh = nBegin < nEnd;
- if( nBegin < nEnd )
+ if( bFresh )
{
//! register listener to LinguServiceEvents now in order to get
//! notified about relevant changes in the future
@@ -1374,6 +1375,11 @@ SwRect SwTxtFrm::_AutoSpell( const SwCntntNode* pActNode, const SwViewOption& rV
if( nChgStart < nChgEnd )
{
aRect = lcl_CalculateRepaintRect( *this, nChgStart, nChgEnd );
+
+ // fdo#71558 notify mispelled word to accessibility
+ SwViewShell* pViewSh = getRootFrm() ? getRootFrm()->GetCurrShell() : 0;
+ if( pViewSh )
+ pViewSh->InvalidateAccessibleParaAttrs( *this );
}
pNode->GetWrong()->SetInvalid( nInvStart, nInvEnd );
More information about the Libreoffice-commits
mailing list