[ooo-build-commit] .: vcl/source
Caolán McNamara
caolan at kemper.freedesktop.org
Wed Oct 6 08:35:45 PDT 2010
vcl/source/window/wrkwin.cxx | 14 ++++++++++++++
1 file changed, 14 insertions(+)
New commits:
commit 0fd7109b1f7152786081cc34e3bdc3baa6cf7c01
Author: Caolán McNamara <caolanm at redhat.com>
Date: Wed Oct 6 15:11:57 2010 +0100
#i94007# #i111758# fix RenderBadPicture on multihead setups and cairo
diff --git a/vcl/source/window/wrkwin.cxx b/vcl/source/window/wrkwin.cxx
index a3bcc52..c00e318 100644
--- a/vcl/source/window/wrkwin.cxx
+++ b/vcl/source/window/wrkwin.cxx
@@ -39,6 +39,8 @@
#include <vcl/window.h>
#include <vcl/wrkwin.hxx>
#include <vcl/sysdata.hxx>
+#include <com/sun/star/lang/XComponent.hpp>
+#include <com/sun/star/rendering/XCanvas.hpp>
// =======================================================================
@@ -188,6 +190,18 @@ void WorkWindow::ShowFullScreenMode( BOOL bFullScreenMode, sal_Int32 nDisplay )
mbFullScreenMode = bFullScreenMode != 0;
if ( !mbSysChild )
{
+ // Dispose of the canvas implementation, which might rely on
+ // screen-specific system data.
+ com::sun::star::uno::Reference< com::sun::star::rendering::XCanvas > xCanvas( mpWindowImpl->mxCanvas );
+ if( xCanvas.is() )
+ {
+ com::sun::star::uno::Reference< com::sun::star::lang::XComponent >
+ xCanvasComponent( xCanvas,
+ com::sun::star::uno::UNO_QUERY );
+ if( xCanvasComponent.is() )
+ xCanvasComponent->dispose();
+ }
+
mpWindowImpl->mpFrameWindow->mpWindowImpl->mbWaitSystemResize = TRUE;
ImplGetFrame()->ShowFullScreen( bFullScreenMode, nDisplay );
}
More information about the ooo-build-commit
mailing list