• Stephan Bergmann's avatar
    Avoid bad downcasts to VclBox · 6c7b85c2
    Stephan Bergmann yazdı
    At least in CppunitTest_smoektest there is a case where
    SystemWindow::setOptimalLayoutSize tries to downcast a VclGrid as a VclBox
    (stack top below), and that even appears to be unnecessary as the only place
    that requires the downcast is the Dialog::settingOptimalLayoutSize override.  So
    maybe it is guaranteed that GetWindow(WINDOW_FIRSTCHILD) is a VclBox if this is
    a Dialog, but need not be the case if this is not a Dialog?  Or the real bug is
    elsewhere...
    
    SystemWindow::setOptimalLayoutSize()
    SystemWindow::DoInitialLayout()
    FloatingWindow::StateChanged(StateChangedType)
    SfxFloatingWindow::StateChanged(StateChangedType)
    SmToolBoxWindow::StateChanged(StateChangedType)
    vcl::Window::ImplCallInitShow()
    vcl::Window::Show(bool, unsigned short)
    SfxChildWindow::Show(unsigned short)
    SfxWorkWindow::HidePopups_Impl(bool, bool, unsigned short)
    SfxDispatcher::DoActivate_Impl(bool, SfxViewFrame*)
    SfxViewFrame::DoActivate(bool, SfxViewFrame*)
    SfxApplication::SetViewFrame_Impl(SfxViewFrame*)
    SfxViewFrame::SetViewFrame(SfxViewFrame*)
    SfxViewFrame::MakeActive_Impl(bool)
    SfxBaseController::ConnectSfxFrame_Impl(SfxBaseController::ConnectSfxFrame)
    SfxBaseController::attachFrame(com::sun::star::uno::Reference<com::sun::star::frame::XFrame> const&)
    (anonymous namespace)::SfxFrameLoader_Impl::impl_createDocumentView(com::sun::star::uno::Reference<com::sun::star::frame::XModel2> const&, com::sun::star::uno::Reference<com::sun::star::frame::XFrame> const&, comphelper::NamedValueCollection const&, rtl::OUString const&)
    (anonymous namespace)::SfxFrameLoader_Impl::load(com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&, com::sun::star::uno::Reference<com::sun::star::frame::XFrame> const&)
    framework::LoadEnv::impl_loadContent()
    framework::LoadEnv::startLoading()
    framework::LoadEnv::loadComponentFromURL(com::sun::star::uno::Reference<com::sun::star::frame::XComponentLoader> const&, com::sun::star::uno::Reference<com::sun::star::uno::XComponentContext> const&, rtl::OUString const&, rtl::OUString const&, int, com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&)
    ...
    
    Change-Id: I786ad451fdf73eca22860695a614ee5b889a83cd
    6c7b85c2
dialog.hxx 5.57 KB