summaryrefslogtreecommitdiffstats
path: root/sd
diff options
context:
space:
mode:
Diffstat (limited to 'sd')
-rw-r--r--sd/source/ui/framework/factories/BasicViewFactory.cxx14
-rw-r--r--sd/source/ui/framework/factories/ViewShellWrapper.cxx8
2 files changed, 13 insertions, 9 deletions
diff --git a/sd/source/ui/framework/factories/BasicViewFactory.cxx b/sd/source/ui/framework/factories/BasicViewFactory.cxx
index 9badf15dd459..237dc720c08c 100644
--- a/sd/source/ui/framework/factories/BasicViewFactory.cxx
+++ b/sd/source/ui/framework/factories/BasicViewFactory.cxx
@@ -368,10 +368,22 @@ void SAL_CALL BasicViewFactory::initialize (const Sequence<Any>& aArguments)
pDescriptor->mpViewShell->Init(bIsCenterPane);
mpBase->GetViewShellManager()->ActivateViewShell(pDescriptor->mpViewShell.get());
+ Reference<awt::XWindow> xWindow(rxPane->getWindow());
pDescriptor->mpWrapper = new ViewShellWrapper(
pDescriptor->mpViewShell,
rxViewId,
- rxPane->getWindow());
+ xWindow);
+
+ // register ViewShellWrapper on pane window
+ if (xWindow.is())
+ {
+ xWindow->addWindowListener(pDescriptor->mpWrapper);
+ if (pDescriptor->mpViewShell != NULL)
+ {
+ pDescriptor->mpViewShell->Resize();
+ }
+ }
+
pDescriptor->mxView.set( pDescriptor->mpWrapper->queryInterface( XResource::static_type() ), UNO_QUERY_THROW );
}
diff --git a/sd/source/ui/framework/factories/ViewShellWrapper.cxx b/sd/source/ui/framework/factories/ViewShellWrapper.cxx
index 1108ffe23c58..ad27974b580b 100644
--- a/sd/source/ui/framework/factories/ViewShellWrapper.cxx
+++ b/sd/source/ui/framework/factories/ViewShellWrapper.cxx
@@ -67,14 +67,6 @@ ViewShellWrapper::ViewShellWrapper (
mxViewId(rxViewId),
mxWindow(rxWindow)
{
- if (rxWindow.is())
- {
- rxWindow->addWindowListener(this);
- if (pViewShell != NULL)
- {
- pViewShell->Resize();
- }
- }
}