From 6ea4142a7c43d62bae7971bece0201ae7028d2d9 Mon Sep 17 00:00:00 2001 From: Jabier Arraiza Date: Sat, 31 Aug 2019 20:08:08 +0200 Subject: fix cursor font size --- src/ui/toolbar/text-toolbar.cpp | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) (limited to 'src/ui/toolbar/text-toolbar.cpp') diff --git a/src/ui/toolbar/text-toolbar.cpp b/src/ui/toolbar/text-toolbar.cpp index b4ea38caf..e334a7dbd 100644 --- a/src/ui/toolbar/text-toolbar.cpp +++ b/src/ui/toolbar/text-toolbar.cpp @@ -2229,20 +2229,22 @@ void TextToolbar::subselection_changed(gpointer texttool) SPItem *item = dynamic_cast(child); if (counter == startline) { this->_sub_active_item = item; - int origin_selection = layout->iteratorToCharIndex(tc->text_sel_start); + int origin_selection = layout->iteratorToCharIndex(start_selection); Inkscape::Text::Layout::iterator next = layout->charIndexToIterator(origin_selection + 1); Inkscape::Text::Layout::iterator prev = layout->charIndexToIterator(origin_selection - 1); //TODO: find a better way to init _updating = true; SPStyle query(SP_ACTIVE_DOCUMENT); query_cursor = query; - if (end_selection.nextStartOfSpan()) { - tc->text_sel_start = prev; - } else { + Inkscape::Text::Layout::iterator start_line = tc->text_sel_start; + start_line.thisStartOfLine(); + if (tc->text_sel_start == start_line) { tc->text_sel_start = next; + } else { + tc->text_sel_start = prev; } _cusor_numbers = sp_desktop_query_style(SP_ACTIVE_DESKTOP, &query_cursor, QUERY_STYLE_PROPERTY_FONTNUMBERS); - tc->text_sel_start = layout->charIndexToIterator(origin_selection); + tc->text_sel_start = start_selection; _updating = false; break; } -- cgit v1.2.3