From ef10274f4eed7bd91442f9506c6d48e15e022ad8 Mon Sep 17 00:00:00 2001 From: Vassilii Khachaturov Date: Sun, 16 Feb 2014 13:55:30 +0200 Subject: [PATCH] 7097: spell.py hangs on a note for tens of secods shave off ~15s out of 40s of the hang --- gramps/gui/widgets/styledtextbuffer.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/gramps/gui/widgets/styledtextbuffer.py b/gramps/gui/widgets/styledtextbuffer.py index 28049ae8f..056a669fa 100644 --- a/gramps/gui/widgets/styledtextbuffer.py +++ b/gramps/gui/widgets/styledtextbuffer.py @@ -507,8 +507,8 @@ class StyledTextBuffer(UndoableBuffer): end = self.get_char_count() tagdict = {} + iter = self.get_iter_at_offset(start) for pos in range(start, end): - iter = self.get_iter_at_offset(pos) for tag in iter.get_tags(): name = tag.get_property('name') if name in tagdict: @@ -518,6 +518,7 @@ class StyledTextBuffer(UndoableBuffer): tagdict[name].append((pos, pos)) else: tagdict[name]=[(pos, pos)] + iter.forward_char() return tagdict def _find_tag_by_name(self, style, value): @@ -593,7 +594,7 @@ class StyledTextBuffer(UndoableBuffer): g_tags = self._get_tag_from_range() s_tags = [] - for g_tagname, g_ranges in list(g_tags.items()): + for g_tagname, g_ranges in g_tags.items(): if g_tagname.startswith('link'): tag = self.get_tag_table().lookup(g_tagname) s_ranges = [(start, end+1) for (start, end) in g_ranges]