diff options
Diffstat (limited to 'sw/source/filter/basflt/docfact.cxx')
-rw-r--r-- | sw/source/filter/basflt/docfact.cxx | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/sw/source/filter/basflt/docfact.cxx b/sw/source/filter/basflt/docfact.cxx index a7269de0a9cb..c8c87c0a1afd 100644 --- a/sw/source/filter/basflt/docfact.cxx +++ b/sw/source/filter/basflt/docfact.cxx @@ -25,23 +25,28 @@ SwDocFac::SwDocFac( SwDoc *pDc ) - : mxDoc( pDc ) + : pDoc( pDc ) { + if( pDoc ) + pDoc->acquire(); } SwDocFac::~SwDocFac() { + if( pDoc && !pDoc->release() ) + delete pDoc; } SwDoc *SwDocFac::GetDoc() { - if( !mxDoc.is() ) + if( !pDoc ) { - mxDoc = new SwDoc; + pDoc = new SwDoc; + pDoc->acquire(); } - return mxDoc.get(); + return pDoc; } /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ |