From ddb0dca64d97aff7b93d95967874162291b3c752 Mon Sep 17 00:00:00 2001 From: sekelsenmat Date: Wed, 25 Oct 2006 01:01:19 +0000 Subject: [PATCH] Fixes a crash on qt when the owner of a common dialog isn't a TWinControl. git-svn-id: trunk@10103 - --- lcl/interfaces/qt/qtwinapi.inc | 8 ++++---- lcl/interfaces/qt/qtwsdialogs.pp | 7 ++++--- 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/lcl/interfaces/qt/qtwinapi.inc b/lcl/interfaces/qt/qtwinapi.inc index 716fdf113b..91efb1f776 100644 --- a/lcl/interfaces/qt/qtwinapi.inc +++ b/lcl/interfaces/qt/qtwinapi.inc @@ -889,7 +889,7 @@ begin Pixmap := TQtPixmap.Create(PScreenSize); try - GetMem(NewRawImage.Mask, 1); // Creates a dummy mask + NewRawImage.Mask := GetMem(1); // Creates a dummy mask Pixmap.grabWindow(WinID); @@ -899,7 +899,7 @@ begin NewRawImage.DataSize := QImage_numBytes(Image); - GetMem(NewRawImage.Data, QImage_numBytes(Image)); + NewRawImage.Data := GetMem(QImage_numBytes(Image)); Move(QImage_bits(Image)^, NewRawImage.Data^, QImage_numBytes(Image)); finally @@ -913,9 +913,9 @@ begin end else begin - GetMem(NewRawImage.Mask, 1); // Creates a dummy mask + NewRawImage.Mask := GetMem(1); // Creates a dummy mask - GetMem(NewRawImage.Data, 1); // Creates a dummy data + NewRawImage.Data := GetMem(1); // Creates a dummy data NewRawImage.Description.Width := SrcWidth; NewRawImage.Description.Height := SrcHeight; diff --git a/lcl/interfaces/qt/qtwsdialogs.pp b/lcl/interfaces/qt/qtwsdialogs.pp index cd9bb3ae42..4bb803c5f1 100644 --- a/lcl/interfaces/qt/qtwsdialogs.pp +++ b/lcl/interfaces/qt/qtwsdialogs.pp @@ -117,7 +117,7 @@ implementation ------------------------------------------------------------------------------} class function TQtWSCommonDialog.CreateHandle(const ACommonDialog: TCommonDialog): THandle; begin - Result := 1000; + Result := 0; end; {------------------------------------------------------------------------------ @@ -143,8 +143,9 @@ begin {------------------------------------------------------------------------------ Initialization of the dialog´s options ------------------------------------------------------------------------------} - - Parent := TQtWidget(TWinControl(ACommonDialog.Owner).Handle).Widget; + if ACommonDialog.Owner is TWinControl then + Parent := TQtWidget(TWinControl(ACommonDialog.Owner).Handle).Widget + else Parent := nil; ReturnText := ''; TmpFilter := '';