lcl: fix Linux compilation after r51821 #be5322bd6d, Issue #29766

git-svn-id: trunk@51822 -
This commit is contained in:
ondrej 2016-03-04 06:44:48 +00:00
parent be5322bd6d
commit 23f31975f0
4 changed files with 8 additions and 5 deletions

View File

@ -35,7 +35,7 @@ interface
{$ENDIF}
uses
Classes, SysUtils, TypInfo, types, LCLStrConsts, LCLType, AvgLvlTree,
Classes, SysUtils, TypInfo, Types, LCLStrConsts, LCLType, AvgLvlTree,
LCLProc, GraphType, Graphics, LMessages, LCLIntf, InterfaceBase, ImgList,
PropertyStorage, Menus, ActnList, LCLClasses, LResources;

View File

@ -1765,7 +1765,7 @@ end;
function TControl.GetMousePosFromMessage(const MessageMousePos: TSmallPoint
): TPoint;
begin
if (Width>High(SmallInt)) or (Height>High(SmallInt)) then
if (Width>32767) or (Height>32767) then
begin
GetCursorPos(Result);
Result := ScreenToClient(Result);
@ -2682,8 +2682,11 @@ procedure TControl.WMMouseWheel(var Message: TLMMouseEvent);
var
MousePos: TPoint;
lState: TShiftState;
SP: TSmallPoint;
begin
MousePos := GetMousePosFromMessage(SmallPoint(Message.X, Message.Y));
SP.X := Message.X; // cannot use SmallPoint() here due to FPC inconsistency in Classes.TSmallPoint<>Types.TSmallPoint on Linux
SP.Y := Message.Y;
MousePos := GetMousePosFromMessage(SP);
lState := Message.State - [ssCaps, ssNum, ssScroll]; // Remove unreliable states, see http://bugs.freepascal.org/view.php?id=20065
if DoMouseWheel(lState, Message.WheelDelta, MousePos) then

View File

@ -50,7 +50,7 @@ uses
{$IFDEF Windows}Windows, ShellApi,{$ENDIF}
{$IFDEF UNIX}Unix, {$ENDIF}
{$IFDEF Darwin}MacOSAll, CocoaAll,{$ENDIF}
Types, Math, Classes, SysUtils, LCLType, LCLProc, GraphType, InterfaceBase,
Math, Classes, SysUtils, Types, LCLType, LCLProc, GraphType, InterfaceBase,
FileUtil, LazFileUtils, UTF8Process, Maps, LMessages, LazUTF8, lazutf8sysutils,
LCLStrConsts;

View File

@ -23,7 +23,7 @@ unit LMessages;
interface
uses Classes, SysUtils, LCLType, GraphType
uses Classes, SysUtils, Types, LCLType, GraphType
{$ifdef WINDOWS}
,messages
{$endif WINDOWS}