From c640156c1a98756465978e89c2626154f3dd7587 Mon Sep 17 00:00:00 2001 From: zeljko Date: Tue, 1 Jun 2010 12:02:36 +0000 Subject: [PATCH] Qt: do not immediate create handles if we are under qt-4.5.XX otherwise forms aren't painted properly due to Qt bug. git-svn-id: trunk@25814 - --- lcl/interfaces/qt/qtwsforms.pp | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/lcl/interfaces/qt/qtwsforms.pp b/lcl/interfaces/qt/qtwsforms.pp index eff779e67f..c1531f888d 100644 --- a/lcl/interfaces/qt/qtwsforms.pp +++ b/lcl/interfaces/qt/qtwsforms.pp @@ -123,7 +123,7 @@ type implementation -uses QtWSControls; +uses {$IFDEF HASX11}qtint,{$ENDIF} QtWSControls; {------------------------------------------------------------------------------ Method: TQtWSCustomForm.CreateHandle @@ -146,7 +146,8 @@ begin // Creates the window {$IFDEF HASX11} - QCoreApplication_setAttribute(QtAA_ImmediateWidgetCreation, True); + if (QtVersionMajor = 4) and (QtVersionMinor >= 6) then + QCoreApplication_setAttribute(QtAA_ImmediateWidgetCreation, True); {$ENDIF} if csDesigning in AWinControl.ComponentState then QtMainWindow := TQtDesignWidget.Create(AWinControl, AParams) @@ -188,7 +189,8 @@ begin end; {$IFDEF HASX11} - QCoreApplication_setAttribute(QtAA_ImmediateWidgetCreation, False); + if (QtVersionMajor = 4) and (QtVersionMinor >= 6) then + QCoreApplication_setAttribute(QtAA_ImmediateWidgetCreation, False); {$ENDIF} // Sets Various Events @@ -388,7 +390,8 @@ begin Widget.setVisible(AWinControl.HandleObjectShouldBeVisible); Widget.EndUpdate; {$IFDEF HASX11} - if TForm(AWinControl).FormStyle <> fsMDIChild then + if (QtVersionMajor = 4) and (QtVersionMinor >= 6) + and (TForm(AWinControl).FormStyle <> fsMDIChild) then QApplication_syncX(); {$ENDIF} end;