summaryrefslogtreecommitdiff
path: root/sfx2/source
diff options
context:
space:
mode:
Diffstat (limited to 'sfx2/source')
-rw-r--r--sfx2/source/dialog/recfloat.cxx2
-rw-r--r--sfx2/source/sidebar/ControllerFactory.cxx6
-rw-r--r--sfx2/source/toolbox/weldutils.cxx7
3 files changed, 10 insertions, 5 deletions
diff --git a/sfx2/source/dialog/recfloat.cxx b/sfx2/source/dialog/recfloat.cxx
index 28073a3130b9..18833ea5edfa 100644
--- a/sfx2/source/dialog/recfloat.cxx
+++ b/sfx2/source/dialog/recfloat.cxx
@@ -100,7 +100,7 @@ SfxRecordingFloat_Impl::SfxRecordingFloat_Impl(SfxBindings* pBind, SfxChildWindo
: SfxModelessDialogController(pBind, pChildWin, pParent, "sfx/ui/floatingrecord.ui",
"FloatingRecord")
, m_xToolbar(m_xBuilder->weld_toolbar("toolbar"))
- , m_xDispatcher(new ToolbarUnoDispatcher(*m_xToolbar, pBind->GetActiveFrame()))
+ , m_xDispatcher(new ToolbarUnoDispatcher(*m_xToolbar, *m_xBuilder, pBind->GetActiveFrame()))
{
// start recording
SfxBoolItem aItem( SID_RECORDMACRO, true );
diff --git a/sfx2/source/sidebar/ControllerFactory.cxx b/sfx2/source/sidebar/ControllerFactory.cxx
index ef07c0827f7b..71d5a3649007 100644
--- a/sfx2/source/sidebar/ControllerFactory.cxx
+++ b/sfx2/source/sidebar/ControllerFactory.cxx
@@ -139,11 +139,11 @@ Reference<frame::XToolbarController> ControllerFactory::CreateToolBoxController(
}
Reference<frame::XToolbarController> ControllerFactory::CreateToolBoxController(
- weld::Toolbar& rToolbar,
+ weld::Toolbar& rToolbar, weld::Builder& rBuilder,
const OUString& rsCommandName,
const Reference<frame::XFrame>& rxFrame)
{
- css::uno::Reference<css::awt::XWindow> xWidget(new weld::TransportAsXWindow(&rToolbar));
+ css::uno::Reference<css::awt::XWindow> xWidget(new weld::TransportAsXWindow(&rToolbar, &rBuilder));
Reference<frame::XToolbarController> xController(
CreateToolBarController(
@@ -188,6 +188,8 @@ Reference<frame::XToolbarController> ControllerFactory::CreateToolBoxController(
if (xController.is())
{
+ xController->createItemWindow(xWidget);
+
Reference<util::XUpdatable> xUpdatable(xController, UNO_QUERY);
if (xUpdatable.is())
xUpdatable->update();
diff --git a/sfx2/source/toolbox/weldutils.cxx b/sfx2/source/toolbox/weldutils.cxx
index 1be8559d4d87..c35f9047cf20 100644
--- a/sfx2/source/toolbox/weldutils.cxx
+++ b/sfx2/source/toolbox/weldutils.cxx
@@ -71,10 +71,11 @@ vcl::ImageType ToolbarUnoDispatcher::GetIconSize() const
return eType;
}
-ToolbarUnoDispatcher::ToolbarUnoDispatcher(weld::Toolbar& rToolbar,
+ToolbarUnoDispatcher::ToolbarUnoDispatcher(weld::Toolbar& rToolbar, weld::Builder& rBuilder,
const css::uno::Reference<css::frame::XFrame>& rFrame)
: m_xFrame(rFrame)
, m_pToolbar(&rToolbar)
+ , m_pBuilder(&rBuilder)
{
rToolbar.connect_clicked(LINK(this, ToolbarUnoDispatcher, SelectHdl));
rToolbar.connect_menu_toggled(LINK(this, ToolbarUnoDispatcher, ToggleMenuHdl));
@@ -112,7 +113,8 @@ ToolbarUnoDispatcher::ToolbarUnoDispatcher(weld::Toolbar& rToolbar,
void ToolbarUnoDispatcher::CreateController(const OUString& rCommand)
{
css::uno::Reference<css::frame::XToolbarController> xController(
- sfx2::sidebar::ControllerFactory::CreateToolBoxController(*m_pToolbar, rCommand, m_xFrame));
+ sfx2::sidebar::ControllerFactory::CreateToolBoxController(*m_pToolbar, *m_pBuilder,
+ rCommand, m_xFrame));
if (xController.is())
maControllers.insert(std::make_pair(rCommand, xController));
@@ -190,6 +192,7 @@ void ToolbarUnoDispatcher::dispose()
m_pToolbar->connect_clicked(Link<const OString&, void>());
m_pToolbar = nullptr;
+ m_pBuilder = nullptr;
}
ToolbarUnoDispatcher::~ToolbarUnoDispatcher() { dispose(); }