mirror of
https://github.com/AyuGram/AyuGramDesktop.git
synced 2025-04-16 14:17:12 +02:00
Fix select-by-words with link previews.
This commit is contained in:
parent
625ae87eea
commit
e2ea27cbef
1 changed files with 11 additions and 3 deletions
|
@ -2802,7 +2802,11 @@ TextSelection Message::adjustSelection(
|
|||
const auto textSelection = mediaBefore
|
||||
? media->skipSelection(selection)
|
||||
: selection;
|
||||
auto textAdjusted = hasVisibleText()
|
||||
const auto useSelection = [](TextSelection selection, bool skipped) {
|
||||
return !skipped || (selection != TextSelection(uint16(), uint16()));
|
||||
};
|
||||
auto textAdjusted = (hasVisibleText()
|
||||
&& useSelection(textSelection, mediaBefore))
|
||||
? text().adjustSelection(textSelection, type)
|
||||
: textSelection;
|
||||
auto textResult = mediaBefore
|
||||
|
@ -2813,7 +2817,9 @@ TextSelection Message::adjustSelection(
|
|||
? selection
|
||||
: skipTextSelection(selection);
|
||||
if (mediaDisplayed) {
|
||||
auto mediaAdjusted = media->adjustSelection(mediaSelection, type);
|
||||
auto mediaAdjusted = useSelection(mediaSelection, !mediaBefore)
|
||||
? media->adjustSelection(mediaSelection, type)
|
||||
: mediaSelection;
|
||||
mediaResult = mediaBefore
|
||||
? mediaAdjusted
|
||||
: unskipTextSelection(mediaAdjusted);
|
||||
|
@ -2825,7 +2831,9 @@ TextSelection Message::adjustSelection(
|
|||
: mediaBefore
|
||||
? skipTextSelection(textSelection)
|
||||
: media->skipSelection(mediaSelection);
|
||||
auto entryAdjusted = entry->adjustSelection(entrySelection, type);
|
||||
auto entryAdjusted = useSelection(entrySelection, true)
|
||||
? entry->adjustSelection(entrySelection, type)
|
||||
: entrySelection;
|
||||
entryResult = unskipTextSelection(entryAdjusted);
|
||||
if (mediaDisplayed) {
|
||||
entryResult = media->unskipSelection(entryResult);
|
||||
|
|
Loading…
Add table
Reference in a new issue