NVDA with Japanese branch
リビジョン | 5de6b4972877e41eef554b761e70632181440304 (tree) |
---|---|
日時 | 2014-03-02 00:36:01 |
作者 | Takuya Nishimoto <nishimotz@gmai...> |
コミッター | Takuya Nishimoto |
fixed issue in case the bottom line has no line ending characters
@@ -430,7 +430,7 @@ class EditTextInfo(textInfos.offsets.OffsetsTextInfo): | ||
430 | 430 | if not self.obj.isWindowUnicode: |
431 | 431 | # start/end in bytes to start/end in unicode chars |
432 | 432 | story_text = self._getStoryText() |
433 | - start_new = end_new = 0 | |
433 | + start_new = end_new = -1 | |
434 | 434 | bytepos = 0 |
435 | 435 | for charpos, ch in enumerate(story_text): |
436 | 436 | cb = len(ch.encode('mbcs', 'replace')) |
@@ -440,9 +440,10 @@ class EditTextInfo(textInfos.offsets.OffsetsTextInfo): | ||
440 | 440 | end_new = charpos |
441 | 441 | break |
442 | 442 | bytepos += cb |
443 | - if start_new >= 0 and end_new >= 0: | |
444 | - log.debug("offset %d lineNum %d start %d length %d end %d start_new %d end_new %d" % (offset, lineNum, start, length, end, start_new, end_new)) | |
445 | - return (start_new, end_new) | |
443 | + if end_new == -1: | |
444 | + end_new = len(story_text) | |
445 | + log.debug("offset %d lineNum %d start %d length %d end %d start_new %d end_new %d" % (offset, lineNum, start, length, end, start_new, end_new)) | |
446 | + return (start_new, end_new) | |
446 | 447 | #If we just seem to get invalid line info, calculate manually |
447 | 448 | if start<=0 and end<=0 and lineNum<=0 and self._getLineCount()<=0 and self._getStoryLength()>0: |
448 | 449 | return super(EditTextInfo,self)._getLineOffsets(offset) |