diff options
Diffstat (limited to 'sdext/source/presenter/PresenterSlideShowView.cxx')
-rw-r--r-- | sdext/source/presenter/PresenterSlideShowView.cxx | 21 |
1 files changed, 20 insertions, 1 deletions
diff --git a/sdext/source/presenter/PresenterSlideShowView.cxx b/sdext/source/presenter/PresenterSlideShowView.cxx index 518595082683..e0fe026516b8 100644 --- a/sdext/source/presenter/PresenterSlideShowView.cxx +++ b/sdext/source/presenter/PresenterSlideShowView.cxx @@ -173,7 +173,17 @@ void PresenterSlideShowView::LateInit (void) // Add the new slide show view to the slide show. if (mxSlideShow.is() && ! mbIsViewAdded) { - mxSlideShow->addView(this); + Reference<presentation::XSlideShowView> xView (this); + mxSlideShow->addView(xView); + // Prevent embeded sounds being played twice at the same time by + // disabling sound for the new slide show view. + beans::PropertyValue aProperty; + aProperty.Name = A2S("IsSoundEnabled"); + Sequence<Any> aValues (2); + aValues[0] <<= xView; + aValues[1] <<= sal_False; + aProperty.Value <<= aValues; + mxSlideShow->setProperty(aProperty); mbIsViewAdded = true; } @@ -1053,6 +1063,15 @@ void PresenterSlideShowView::Resize (void) // for the new size. CreateBackgroundPolygons(); + // Notify listeners that the transformation that maps the view into the + // window has changed. + lang::EventObject aEvent (static_cast<XWeak*>(this)); + ::cppu::OInterfaceContainerHelper* pIterator + = maBroadcaster.getContainer(getCppuType((Reference<util::XModifyListener>*)NULL)); + if (pIterator != NULL) + { + pIterator->notifyEach(&util::XModifyListener::modified, aEvent); + } // Due to constant aspect ratio resizing may lead a preview that changes // its position but not its size. This invalidates the back buffer and |