Qt: small workaround in SlotMove for kde3 and kde4 desktop environment.

git-svn-id: trunk@51884 -
This commit is contained in:
zeljko 2016-03-09 14:33:35 +00:00
parent 66c1a36997
commit 75b1694ce7

View File

@ -3946,8 +3946,8 @@ var
{$IFDEF HASX11}
ACurrPos: TQtPoint;
{$IFDEF QtUseAccurateFrame}
//X11Pos: TQtPoint;
//ALeft, ATop, ABorder, AWidth, AHeight: integer;
X11Pos: TQtPoint;
ALeft, ATop, ABorder, AWidth, AHeight: integer;
{$ENDIF}
{$ENDIF}
FrameRect, WindowRect: TRect;
@ -4011,9 +4011,12 @@ begin
{$IF DEFINED(DEBUGQTUSEACCURATEFRAME) OR DEFINED(DEBUGQTCHECKMOVESIZE)}
DebugLn('WARNING: SlotMove(',dbgsName(LCLObject),') frame and geometry have same values geom=',dbgs(WindowRect),' frame=',dbgs(FrameRect),' MARGINS=',dbgs(FrameMargins),' WS=',dbgs(QtWidgetSet.WSFrameMargins),' InvPos=',dbgs(TQtMainWindow(Self).FFormHasInvalidPosition));
{$ENDIF}
TQtMainWindow(Self).FFormHasInvalidPosition := True;
exit;
(*
{TODO: KWin4 is find with FFormHasInvalidPosition := True, but gtk based wm's like
xfce,gnome-shell and cinnamon and kwin5 aren''t, so we must use code below.}
if (GetKdeSessionVersion = 3) or (GetKdeSessionVersion = 4) then
TQtMainWindow(Self).FFormHasInvalidPosition := True
else
begin
GetX11WindowPos(QWidget_winId(Widget), X11Pos.x, X11Pos.y);
if GetX11WindowAttributes(QWidget_winID(Widget), ALeft, ATop, AWidth, AHeight, ABorder) then
@ -4040,7 +4043,7 @@ begin
QWidget_move(Widget, X11Pos.x, X11Pos.y);
exit;
end;
*)
end;
end;
end;
{$ENDIF}