From a44d0d26527212458b7fd51dfa143ac5339cfa9f Mon Sep 17 00:00:00 2001 From: Juergen Spitzmueller Date: Fri, 5 Mar 2021 07:51:49 +0100 Subject: [PATCH] Fix limiting of absurdly large input to thesaurus (#10528) (cherry picked from commit 2b7fae04f32c2db8aa71c5208f289c7ff77db951) --- src/Text3.cpp | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/Text3.cpp b/src/Text3.cpp index 1c99614861..020529d696 100644 --- a/src/Text3.cpp +++ b/src/Text3.cpp @@ -2510,8 +2510,16 @@ void Text::dispatch(Cursor & cur, FuncRequest & cmd) docstring arg = cmd.argument(); if (arg.empty()) { arg = cur.selectionAsString(false); - // FIXME + // Too large. We unselect if needed and try to get + // the first word in selection or under cursor if (arg.size() > 100 || arg.empty()) { + if (cur.selection()) { + DocIterator selbeg = cur.selectionBegin(); + cur.selection(false); + cur.clearSelection(); + setCursorIntern(cur, selbeg.pit(), selbeg.pos()); + cur.screenUpdateFlags(Update::Force); + } // Get word or selection selectWordWhenUnderCursor(cur, WHOLE_WORD); arg = cur.selectionAsString(false);