SynEdit: Workaround for GTK/GTK2 issue, preventing block-selection, after hint window

git-svn-id: trunk@20935 -
This commit is contained in:
martin 2009-07-24 15:17:09 +00:00
parent c907579c4c
commit 8d062d9fa4

View File

@ -2552,6 +2552,11 @@ procedure TCustomSynEdit.MouseMove(Shift: TShiftState; X, Y: Integer);
var
Z: integer;
begin
{$IF defined(LCLGTK) or defined(LCLGTK2)}
// This is to temporarily address issue http://bugs.freepascal.org/view.php?id=12460
if (sfMouseSelecting in fStateFlags) and not MouseCapture then
MouseCapture := True;
{$ENDIF}
inherited MouseMove(Shift, x, y);
if (sfGutterClick in fStateFlags) then begin
FGutter.MouseMove(Shift, X, Y);
@ -4255,6 +4260,11 @@ begin
{$IFDEF VerboseFocus}
DebugLn('[TCustomSynEdit.WMKillFocus] A ',Name);
{$ENDIF}
{$IF defined(LCLGTK) or defined(LCLGTK2)}
// This is to temporarily address issue http://bugs.freepascal.org/view.php?id=12460
if (sfMouseSelecting in fStateFlags) and not MouseCapture then
Exclude(fStateFlags, sfMouseSelecting);
{$ENDIF}
LastMouseCaret:=Point(-1,-1);
// Todo: Under Windows, keeping the Caret only works, if no other component creates a caret
if not (eoPersistentCaret in fOptions) then begin