mirror of
				https://gitlab.com/freepascal.org/lazarus/lazarus.git
				synced 2025-11-04 16:34:24 +01:00 
			
		
		
		
	SynEdit: ignore mouse up, from clicks to other windows: issue #0027541
git-svn-id: trunk@48050 -
This commit is contained in:
		
							parent
							
								
									4600908fe2
								
							
						
					
					
						commit
						516f4b7698
					
				@ -187,7 +187,7 @@ type
 | 
			
		||||
    sfAfterLoadFromFileNeeded,
 | 
			
		||||
    // Mouse-states
 | 
			
		||||
    sfLeftGutterClick, sfRightGutterClick,
 | 
			
		||||
    sfDblClicked, sfTripleClicked, sfQuadClicked,
 | 
			
		||||
    sfInClick, sfDblClicked, sfTripleClicked, sfQuadClicked,
 | 
			
		||||
    sfWaitForDragging, sfIsDragging, sfWaitForMouseSelecting, sfMouseSelecting, sfMouseDoneSelecting,
 | 
			
		||||
    sfIgnoreUpClick,
 | 
			
		||||
    sfSelChanged
 | 
			
		||||
@ -3389,6 +3389,8 @@ begin
 | 
			
		||||
                                sfWaitForDragging, sfIgnoreUpClick
 | 
			
		||||
                               ];
 | 
			
		||||
 | 
			
		||||
  Include(fStateFlags, sfInClick);
 | 
			
		||||
 | 
			
		||||
  if ssQuad in Shift then begin
 | 
			
		||||
    CType := ccQuad;
 | 
			
		||||
    Include(fStateFlags, sfQuadClicked);
 | 
			
		||||
@ -3650,22 +3652,21 @@ begin
 | 
			
		||||
  fScrollTimer.Enabled := False;
 | 
			
		||||
  inherited MouseUp(Button, Shift, X, Y);
 | 
			
		||||
  MouseCapture := False;
 | 
			
		||||
  if not (sfInClick in fStateFlags) then
 | 
			
		||||
    exit;
 | 
			
		||||
 | 
			
		||||
  if sfQuadClicked in fStateFlags then begin
 | 
			
		||||
    CType := ccQuad;
 | 
			
		||||
    Include(fStateFlags, sfQuadClicked);
 | 
			
		||||
  end
 | 
			
		||||
  else if sfTripleClicked in fStateFlags then begin
 | 
			
		||||
    CType := ccTriple;
 | 
			
		||||
    Include(fStateFlags, sfTripleClicked);
 | 
			
		||||
  end
 | 
			
		||||
  else if sfDblClicked in fStateFlags then begin
 | 
			
		||||
    CType := ccDouble;
 | 
			
		||||
    Include(fStateFlags, sfDblClicked);
 | 
			
		||||
  end
 | 
			
		||||
  else
 | 
			
		||||
    CType := ccSingle;
 | 
			
		||||
  fStateFlags:=fStateFlags - [sfDblClicked,sfTripleClicked,sfQuadClicked];
 | 
			
		||||
  fStateFlags:=fStateFlags - [sfInClick, sfDblClicked,sfTripleClicked,sfQuadClicked];
 | 
			
		||||
 | 
			
		||||
  if sfWaitForDragging in fStateFlags then
 | 
			
		||||
  begin
 | 
			
		||||
@ -4721,6 +4722,7 @@ procedure TCustomSynEdit.WMKillFocus(var Msg: TWMKillFocus);
 | 
			
		||||
begin
 | 
			
		||||
  if fCaret = nil then exit; // This SynEdit is in Destroy
 | 
			
		||||
  Exclude(FStateFlags, sfHideCursor);
 | 
			
		||||
  Exclude(fStateFlags, sfInClick);
 | 
			
		||||
  {$IFDEF VerboseFocus}
 | 
			
		||||
  DebugLn(['[TCustomSynEdit.WMKillFocus] A ',DbgSName(Self), ' time=', dbgs(Now*86640)]);
 | 
			
		||||
  {$ENDIF}
 | 
			
		||||
 | 
			
		||||
		Loading…
	
		Reference in New Issue
	
	Block a user