tdf#91426 - fix DX canvas - missed by VclPtr / Clang plugin.

Change-Id: I7969746b159051d65ea974b89ba458d0d14f466a
This commit is contained in:
Michael Meeks 2015-05-26 14:45:46 +01:00
parent 122b149826
commit 90e901b3f9

View File

@ -226,7 +226,7 @@ namespace dxcanvas
COMReference<IDirect3DSwapChain9> mpSwapChain;
COMReference<IDirect3DVertexBuffer9> mpVertexBuffer;
::canvas::ISurfaceSharedPtr mpTexture;
::boost::scoped_ptr<SystemChildWindow> mpWindow;
VclPtr<SystemChildWindow> mpWindow;
::basegfx::B2IVector maSize;
typedef std::vector<canvas::Vertex> vertexCache_t;
vertexCache_t maVertexCache;
@ -645,7 +645,7 @@ namespace dxcanvas
return;
mpTexture.reset();
mpWindow.reset();
mpWindow.disposeAndClear();
mhWnd=NULL;
// refrain from releasing the DX9 objects. We're the only
@ -663,12 +663,11 @@ namespace dxcanvas
// TODO(P2): get rid of those fine-grained locking
::osl::MutexGuard aGuard( maMutex );
maVertexCache.reserve(1024);
maVertexCache.reserve( 1024 );
mpWindow.reset(
VclPtr<SystemChildWindow>::Create(
const_cast<vcl::Window *>(&rWindow), 0) );
mpWindow.disposeAndClear();
mpWindow.reset( VclPtr<SystemChildWindow>::Create(
const_cast<vcl::Window *>(&rWindow), 0) );
// system child window must not receive mouse events
mpWindow->SetMouseTransparent( TRUE );