From 294a0a98c4aa3824ef661cf2bc63d765f6022219 Mon Sep 17 00:00:00 2001 From: bart <9132501-flyingsheep@users.noreply.gitlab.com> Date: Thu, 4 Mar 2021 19:51:10 +0000 Subject: [PATCH] TMaskEdit: after deleting an extended selection, don't select a maskliteral. Reported in https://forum.lazarus.freepascal.org/index.php/topic,53557.0.html git-svn-id: trunk@64744 - --- lcl/maskedit.pp | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/lcl/maskedit.pp b/lcl/maskedit.pp index 3a91e2ed79..5a7270a78e 100644 --- a/lcl/maskedit.pp +++ b/lcl/maskedit.pp @@ -1376,7 +1376,12 @@ procedure TCustomMaskEdit.DeleteChars(NextChar : Boolean); begin if NextChar then begin//VK_DELETE - if HasSelection then DeleteSelected + if HasSelection then + begin + DeleteSelected; + if IsLiteral(FMask[FCursorPos]) then + SelectNextChar; + end else begin //cannot delete beyond length of string @@ -1391,7 +1396,12 @@ begin else begin//VK_BACK //if selected text > 1 char then delete selection - if HasExtSelection then DeleteSelected + if HasExtSelection then + begin + DeleteSelected; + if IsLiteral(FMask[FCursorPos]) then + SelectNextChar; + end else begin //cannot backspace if we are at beginning of string, or if all chars in front are MaskLiterals