Date: prev next · Thread: first prev next last
2014 Archives by date, by thread · List index


Hi Hidemune, *

Some additional information:

1. To make the bug be tracked easier, I filed the bug:
https://www.libreoffice.org/bugzilla/show_bug.cgi?id=87500

2.  in Japaese ML:
http://listarchives.libreoffice.org/ja/discuss/msg03302.html
Hidemune said that BreakIteratorImpl::nextCharacters() handle
the last control code incorrectly in Japanese Windows environment,
and there are several code to call BreakIteratorImpl::nextCharacters()
same way.

If so, I think we should be correct BreakIteratorImpl::nextCharacters()
(or its subclasses) instead of SwBreakIt::getGraphemeCount().

How do you think?

That's because the patch is in the ML, not in Gerrit.


Regards,

2014-12-18 20:26 GMT+09:00 TANAKA H&Y <auau@kne.biglobe.ne.jp>:
Hello,

The bug is in the Writer (Windows7 64bit).

1. After the English input, I was a Japanese input.
2. I have run several times Undo.
3. Then, Writer was hung up.

I was confirmed to work correctly when applying the following patch.


diff --git a/sw/source/core/bastyp/breakit.cxx
b/sw/source/core/bastyp/breakit.cxx
index bf468b9..55f3dec 100644
--- a/sw/source/core/bastyp/breakit.cxx
+++ b/sw/source/core/bastyp/breakit.cxx
@@ -191,8 +191,11 @@ sal_Int32 SwBreakIt::getGraphemeCount(const
OUString& rText,
         else
         {
             sal_Int32 nCount2 = 1;
+            sal_Int32 nPosOld = nCurPos;
             nCurPos = xBreak->nextCharacters(rText, nCurPos,
lang::Locale(),
                 i18n::CharacterIteratorMode::SKIPCELL, nCount2, nCount2);
+            if (nPosOld == nCurPos)
+                break;
         }
         ++nGraphemeCount;
     }



Best regards,

TANAKA Hidemune
_______________________________________________
LibreOffice mailing list
LibreOffice@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice



-- 
Naruhiko Ogasawara (naruoga@gmail.com)

Context


Privacy Policy | Impressum (Legal Info) | Copyright information: Unless otherwise specified, all text and images on this website are licensed under the Creative Commons Attribution-Share Alike 3.0 License. This does not include the source code of LibreOffice, which is licensed under the Mozilla Public License (MPLv2). "LibreOffice" and "The Document Foundation" are registered trademarks of their corresponding registered owners or are in actual use as trademarks in one or more countries. Their respective logos and icons are also subject to international copyright laws. Use thereof is explained in our trademark policy.