changeset 3f1e91300a4e in /home/hg/repos/gajim
author: Emmanuel Gil Peyrot linkmauve@linkmauve.fr branches: details:http://hg.gajim.org/gajim?cmd=changeset;node=3f1e91300a4e description: Widget.get_iter_at_location returns a 2-tuple on GTK+ 3.20, so get the actual iterator.
Fixes #8312.
diffstat:
src/conversation_textview.py | 17 ++++++++++++++--- src/htmltextview.py | 10 ++++++++-- 2 files changed, 22 insertions(+), 5 deletions(-)
diffs (75 lines):
diff -r f03f45a3c712 -r 3f1e91300a4e src/conversation_textview.py --- a/src/conversation_textview.py Sat Apr 02 14:22:02 2016 +0200 +++ b/src/conversation_textview.py Sat Apr 02 14:36:33 2016 +0100 @@ -622,7 +622,10 @@ pointer = w.get_device_position(device) x = pointer[1] y = pointer[2] - tags = self.tv.get_iter_at_location(x, y).get_tags() + iter_ = self.tv.get_iter_at_location(x, y) + if isinstance(iter_, tuple): + iter_ = iter_[1] + tags = iter_.get_tags() tag_table = self.tv.get_buffer().get_tag_table() xep0184_warning = False for tag in tags: @@ -644,7 +647,10 @@ pointer = w.get_device_position(device) x = pointer[1] y = pointer[2] - tags = self.tv.get_iter_at_location(x, y).get_tags() + iter_ = self.tv.get_iter_at_location(x, y) + if isinstance(iter_, tuple): + iter_ = iter_[1] + tags = iter_.get_tags() tag_table = self.tv.get_buffer().get_tag_table() over_line = False for tag in tags: @@ -695,7 +701,10 @@ pointer = w.get_device_position(device) x, y = self.tv.window_to_buffer_coords(Gtk.TextWindowType.TEXT, pointer[1], pointer[2]) - tags = self.tv.get_iter_at_location(x, y).get_tags() + iter_ = self.tv.get_iter_at_location(x, y) + if isinstance(iter_, tuple): + iter_ = iter_[1] + tags = iter_.get_tags() if self.change_cursor: w.set_cursor(Gdk.Cursor.new(Gdk.CursorType.XTERM)) self.change_cursor = False @@ -864,6 +873,8 @@ x, y = self.tv.window_to_buffer_coords(Gtk.TextWindowType.TEXT, int(event.x), int(event.y)) iter_ = self.tv.get_iter_at_location(x, y) + if isinstance(iter_, tuple): + iter_ = iter_[1] tags = iter_.get_tags()
if tags: # we clicked on sth special (it can be status message too) diff -r f03f45a3c712 -r 3f1e91300a4e src/htmltextview.py --- a/src/htmltextview.py Sat Apr 02 14:22:02 2016 +0200 +++ b/src/htmltextview.py Sat Apr 02 14:36:33 2016 +0100 @@ -899,7 +899,10 @@ pointer = w.get_device_position(device) x = pointer[1] y = pointer[2] - tags = self.get_iter_at_location(x, y).get_tags() + iter_ = self.get_iter_at_location(x, y) + if isinstance(iter_, tuple): + iter_ = iter_[1] + tags = iter_.get_tags() is_over_anchor = False for tag_ in tags: if getattr(tag_, 'is_anchor', False): @@ -918,7 +921,10 @@ pointer = w.get_device_position(device) x = pointer[1] y = pointer[2] - tags = widget.get_iter_at_location(x, y).get_tags() + iter_ = widget.get_iter_at_location(x, y) + if isinstance(iter_, tuple): + iter_ = iter_[1] + tags = iter_.get_tags() anchor_tags = [tag for tag in tags if getattr(tag, 'is_anchor', False)] if self.tooltip.timeout != 0 or self.tooltip.shown: # Check if we should hide the line tooltip