From c5c6957733c6961120bcd9e3cfc07be66b0d38d1 Mon Sep 17 00:00:00 2001 From: ondrej Date: Thu, 14 Jan 2016 21:24:12 +0000 Subject: [PATCH] sparta: correctly hide/show main menu. Issue #29370 git-svn-id: trunk@51289 - --- .../source/sparta_resizerframe.pas | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/components/sparta/dockedformeditor/source/sparta_resizerframe.pas b/components/sparta/dockedformeditor/source/sparta_resizerframe.pas index dbfaddfafc..6478df46d7 100644 --- a/components/sparta/dockedformeditor/source/sparta_resizerframe.pas +++ b/components/sparta/dockedformeditor/source/sparta_resizerframe.pas @@ -834,15 +834,18 @@ end; procedure TResizerFrame.AppOnIdle(Sender: TObject; var Done: Boolean); begin - if not FMenuChanged then - Exit; + if FMenuChanged then + begin + if FOldHasMainMenu <> HasMainMenu then + begin + TryBoundDesignedForm; + if Assigned(OnNodePositioning) then + OnNodePositioning(Self, [pkBottom], pcPositioningEnd); + end else + pFakeMenu.Invalidate; - if FOldHasMainMenu <> HasMainMenu then - PositionNodes(Self) - else if FOldHasMainMenu then - pBG.Invalidate; - - FMenuChanged := False; + FMenuChanged := False; + end; end; destructor TResizerFrame.Destroy;