summaryrefslogtreecommitdiff
path: root/sw/source/filter/basflt/docfact.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'sw/source/filter/basflt/docfact.cxx')
-rw-r--r--sw/source/filter/basflt/docfact.cxx13
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: */