From 0321aeb7647a1657d40be3e2647b6eadb5b9f0cf Mon Sep 17 00:00:00 2001 From: ondrej Date: Sun, 10 Jan 2016 21:26:07 +0000 Subject: [PATCH] sparta: fix AV in pFakeMenuPaint git-svn-id: trunk@51242 - --- .../source/sparta_resizerframe.pas | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/components/sparta/dockedformeditor/source/sparta_resizerframe.pas b/components/sparta/dockedformeditor/source/sparta_resizerframe.pas index 2b644efd78..dbfaddfafc 100644 --- a/components/sparta/dockedformeditor/source/sparta_resizerframe.pas +++ b/components/sparta/dockedformeditor/source/sparta_resizerframe.pas @@ -258,16 +258,17 @@ var begin //fake paint menu - // pFakeMenu is visible only when HasMainMenu is true - //if not HasMainMenu then - // Exit; - - Menu := FDesignedForm.Form.Menu; - MenuRect := pFakeMenu.ClientRect; LCanvas := pFakeMenu.Canvas; LCanvas.Brush.Color := clMenuBar; LCanvas.FillRect(MenuRect); + + // pFakeMenu is visible only when HasMainMenu is true + // but FDesignedForm can be nil if the designer is painted before it has been assigned + if not HasMainMenu then + Exit; + + Menu := FDesignedForm.Form.Menu; LCanvas.Font.Color := clMenuText; X := 5; @@ -278,7 +279,6 @@ begin LCanvas.TextOut(X, Y, Menu.Items[I].Caption); Inc(X, LCanvas.TextWidth(Menu.Items[I].Caption) + 10); end; - LCanvas.Brush.Color := clNone; end; procedure TResizerFrame.ClientChangeBounds(Sender: TObject);