diff --git a/lcl/interfaces/qt5/qtwsforms.pp b/lcl/interfaces/qt5/qtwsforms.pp index 4aa9fa6877..26ef23ba51 100644 --- a/lcl/interfaces/qt5/qtwsforms.pp +++ b/lcl/interfaces/qt5/qtwsforms.pp @@ -1033,18 +1033,21 @@ begin if Assigned(TCustomForm(AWinControl).Menu) then begin AWin := TQtMainWindow(AWinControl.Handle); - AWin.MenuBar.sizeHint(@ASize); - // geometry isn't updated yet - if ASize.cy < 10 then - ASize.cy := 0; - // we must use real geometry, and then exclude menubar height. - aClientRect := AWin.getGeometry; - Types.OffsetRect(aClientRect, -aClientRect.Left, -aClientRect.Top); - dec(AClientRect.Bottom, ASize.cy); - {$IFDEF VerboseQtResize} - DebugLn('TQtWSCustomForm.getDefaultClientRect ',dbgsName(AWinControl),' ',dbgs(AWin.getClientBounds),' mnuBarHeight ',dbgs(AWin.MenuBar.getHeight),' ASize=',dbgs(ASize),' FINAL=',dbgs(AClientRect)); - {$ENDIF} - Result := True; + if Assigned(AWin.MenuBar) then + begin + AWin.MenuBar.sizeHint(@ASize); + // geometry isn't updated yet + if ASize.cy < 10 then + ASize.cy := 0; + // we must use real geometry, and then exclude menubar height. + aClientRect := AWin.getGeometry; + Types.OffsetRect(aClientRect, -aClientRect.Left, -aClientRect.Top); + dec(AClientRect.Bottom, ASize.cy); + {$IFDEF VerboseQtResize} + DebugLn('TQtWSCustomForm.getDefaultClientRect ',dbgsName(AWinControl),' ',dbgs(AWin.getClientBounds),' mnuBarHeight ',dbgs(AWin.MenuBar.getHeight),' ASize=',dbgs(ASize),' FINAL=',dbgs(AClientRect)); + {$ENDIF} + Result := True; + end; end; end; end;