summaryrefslogtreecommitdiff
path: root/linguistic
diff options
context:
space:
mode:
authorMathias Bauer <mba@openoffice.org>2009-10-06 12:34:07 +0200
committerMathias Bauer <mba@openoffice.org>2009-10-06 12:34:07 +0200
commit7e01bc8d28ffefd4539a5eae2587e1f7da0999e7 (patch)
tree852197240d21648f8106b1b4f361f77e5fac7148 /linguistic
parentbff284e216792b8d2a4e498beaba806eeddf844a (diff)
#i103496#: removes sfx2 dependency from linguistic
Diffstat (limited to 'linguistic')
-rw-r--r--linguistic/prj/build.lst2
-rw-r--r--linguistic/source/convdic.cxx92
-rw-r--r--linguistic/source/convdiclist.cxx1
-rw-r--r--linguistic/source/convdicxml.cxx3
-rw-r--r--linguistic/source/convdicxml.hxx2
-rw-r--r--linguistic/source/defs.hxx7
-rw-r--r--linguistic/source/dicimp.cxx104
-rw-r--r--linguistic/source/dicimp.hxx3
-rw-r--r--linguistic/source/dlistimp.cxx37
-rw-r--r--linguistic/source/hhconvdic.cxx1
-rw-r--r--linguistic/source/makefile.mk2
11 files changed, 157 insertions, 97 deletions
diff --git a/linguistic/prj/build.lst b/linguistic/prj/build.lst
index 0b8f5f62fb1c..344453253054 100644
--- a/linguistic/prj/build.lst
+++ b/linguistic/prj/build.lst
@@ -1,4 +1,4 @@
-lg linguistic : xmloff sfx2 NULL
+lg linguistic : xmloff NULL
lg linguistic usr1 - all lg_mkout NULL
lg linguistic\prj get - all lg_prj NULL
lg linguistic\inc nmake - all lg_inc NULL
diff --git a/linguistic/source/convdic.cxx b/linguistic/source/convdic.cxx
index c58e7d142d47..c55e4ef30f4c 100644
--- a/linguistic/source/convdic.cxx
+++ b/linguistic/source/convdic.cxx
@@ -30,19 +30,21 @@
// MARKER(update_precomp.py): autogen include statement, do not remove
#include "precompiled_linguistic.hxx"
+
+#include <cppuhelper/factory.hxx>
#include <i18npool/lang.h>
-#include <tools/urlobj.hxx>
+#include <osl/mutex.hxx>
#include <tools/debug.hxx>
#include <tools/fsys.hxx>
#include <tools/stream.hxx>
-#include <tools/string.hxx>
#include <tools/stream.hxx>
-#include <sfx2/docfile.hxx>
-#include <osl/mutex.hxx>
-#include <unotools/processfactory.hxx>
+#include <tools/string.hxx>
+#include <tools/urlobj.hxx>
#include <ucbhelper/content.hxx>
+#include <unotools/processfactory.hxx>
+#include <unotools/streamwrap.hxx>
+#include <unotools/ucbstreamhelper.hxx>
-#include <cppuhelper/factory.hxx> // helper for factories
#include <com/sun/star/linguistic2/XConversionDictionary.hpp>
#include <com/sun/star/linguistic2/ConversionDictionaryType.hpp>
#include <com/sun/star/linguistic2/XConversionPropertyType.hpp>
@@ -50,18 +52,19 @@
#include <com/sun/star/util/XFlushable.hpp>
#include <com/sun/star/lang/Locale.hpp>
#include <com/sun/star/lang/EventObject.hpp>
-#ifndef _COM_SUN_STAR_UNO_REFERENCE_HPP_
+#include <com/sun/star/ucb/XSimpleFileAccess.hpp>
#include <com/sun/star/uno/Reference.h>
-#endif
#include <com/sun/star/registry/XRegistryKey.hpp>
#include <com/sun/star/util/XFlushListener.hpp>
#include <com/sun/star/io/XActiveDataSource.hpp>
+#include <com/sun/star/io/XActiveDataSource.hpp>
+#include <com/sun/star/io/XInputStream.hpp>
+#include <com/sun/star/io/XOutputStream.hpp>
#include <com/sun/star/xml/sax/XDocumentHandler.hpp>
#include <com/sun/star/document/XFilter.hpp>
#include <com/sun/star/beans/PropertyValue.hpp>
#include <com/sun/star/xml/sax/InputSource.hpp>
#include <com/sun/star/xml/sax/XParser.hpp>
-#include <unotools/streamwrap.hxx>
#include "convdic.hxx"
@@ -89,23 +92,27 @@ void ReadThroughDic( const String &rMainURL, ConvDicXMLImport &rImport )
{
if (rMainURL.Len() == 0)
return;
-
- // get stream to be used
DBG_ASSERT(!INetURLObject( rMainURL ).HasError(), "invalid URL");
- SfxMedium aMedium( rMainURL, STREAM_READ | STREAM_SHARE_DENYWRITE, FALSE );
- SvStream *pStream = aMedium.GetInStream();
- DBG_ASSERT( pStream, "input stream missing" );
- if (!pStream || pStream->GetError())
- return;
- uno::Reference< lang::XMultiServiceFactory > xServiceFactory(
- utl::getProcessServiceFactory() );
- DBG_ASSERT( xServiceFactory.is(), "XMLReader::Read: got no service manager" );
- if (!xServiceFactory.is())
+ uno::Reference< lang::XMultiServiceFactory > xServiceFactory( utl::getProcessServiceFactory() );
+
+ // get xInputStream stream
+ uno::Reference< io::XInputStream > xIn;
+ try
+ {
+ uno::Reference< ucb::XSimpleFileAccess > xAccess( xServiceFactory->createInstance(
+ A2OU( "com.sun.star.ucb.SimpleFileAccess" ) ), uno::UNO_QUERY_THROW );
+ xIn = xAccess->openFileRead( rMainURL );
+ }
+ catch (uno::Exception & e)
+ {
+ DBG_ASSERT( 0, "failed to get input stream" );
+ (void) e;
+ }
+ if (!xIn.is())
return;
- uno::Reference< io::XInputStream > xIn = new utl::OInputStreamWrapper( *pStream );
- DBG_ASSERT( xIn.is(), "input stream missing" );
+ SvStreamPtr pStream = SvStreamPtr( utl::UcbStreamHelper::CreateStream( xIn ) );
ULONG nError = sal::static_int_cast< ULONG >(-1);
@@ -274,23 +281,29 @@ void ConvDic::Save()
DBG_ASSERT( !bNeedEntries, "saving while entries missing" );
if (aMainURL.Len() == 0 || bNeedEntries)
return;
-
DBG_ASSERT(!INetURLObject( aMainURL ).HasError(), "invalid URL");
- SfxMedium aMedium( aMainURL, STREAM_WRITE | STREAM_TRUNC | STREAM_SHARE_DENYALL,
- FALSE );
- aMedium.CreateTempFile(); // use temp file to write to...
- SvStream *pStream = aMedium.GetOutStream();
- DBG_ASSERT( pStream, "output stream missing" );
- if (!pStream || pStream->GetError())
+ uno::Reference< lang::XMultiServiceFactory > xServiceFactory( utl::getProcessServiceFactory() );
+
+ // get XOutputStream stream
+ uno::Reference< io::XStream > xStream;
+ try
+ {
+ uno::Reference< ucb::XSimpleFileAccess > xAccess( xServiceFactory->createInstance(
+ A2OU( "com.sun.star.ucb.SimpleFileAccess" ) ), uno::UNO_QUERY_THROW );
+ xStream = xAccess->openFileReadWrite( aMainURL );
+ }
+ catch (uno::Exception & e)
+ {
+ DBG_ASSERT( 0, "failed to get input stream" );
+ (void) e;
+ }
+ if (!xStream.is())
return;
- uno::Reference< io::XOutputStream > xOut(
- new utl::OOutputStreamWrapper( *pStream ) );
- DBG_ASSERT( xOut.is(), "output stream missing" );
+
+ SvStreamPtr pStream = SvStreamPtr( utl::UcbStreamHelper::CreateStream( xStream ) );
// get XML writer
- uno::Reference< lang::XMultiServiceFactory > xServiceFactory(
- utl::getProcessServiceFactory() );
uno::Reference< io::XActiveDataSource > xSaxWriter;
if (xServiceFactory.is())
{
@@ -306,10 +319,10 @@ void ConvDic::Save()
}
DBG_ASSERT( xSaxWriter.is(), "can't instantiate XML writer" );
- if (xSaxWriter.is() && xOut.is())
+ if (xSaxWriter.is() && xStream.is())
{
// connect XML writer to output stream
- xSaxWriter->setOutputStream( xOut );
+ xSaxWriter->setOutputStream( xStream->getOutputStream() );
// prepare arguments (prepend doc handler to given arguments)
uno::Reference< xml::sax::XDocumentHandler > xDocHandler( xSaxWriter, UNO_QUERY );
@@ -318,15 +331,10 @@ void ConvDic::Save()
//!! keep a first(!) reference until everything is done to
//!! ensure the proper lifetime of the object
uno::Reference< document::XFilter > aRef( (document::XFilter *) pExport );
- sal_Bool bRet = pExport->Export( aMedium ); // write entries to file
+ sal_Bool bRet = pExport->Export(); // write entries to file
DBG_ASSERT( !pStream->GetError(), "I/O error while writing to stream" );
if (bRet)
- {
- // flush file, close it and release any lock
- aMedium.Close();
- aMedium.Commit();
bIsModified = FALSE;
- }
}
DBG_ASSERT( !bIsModified, "dictionary still modified after save. Save failed?" );
}
diff --git a/linguistic/source/convdiclist.cxx b/linguistic/source/convdiclist.cxx
index 89604517a41f..098ae669ddd6 100644
--- a/linguistic/source/convdiclist.cxx
+++ b/linguistic/source/convdiclist.cxx
@@ -36,7 +36,6 @@
#include <unotools/pathoptions.hxx>
#include <unotools/useroptions.hxx>
#include <unotools/lingucfg.hxx>
-#include <sfx2/docfile.hxx>
#include <vcl/svapp.hxx>
#include <rtl/instance.hxx>
#include <cppuhelper/factory.hxx> // helper for factories
diff --git a/linguistic/source/convdicxml.cxx b/linguistic/source/convdicxml.cxx
index 34133a4bc2f9..70ada335f57e 100644
--- a/linguistic/source/convdicxml.cxx
+++ b/linguistic/source/convdicxml.cxx
@@ -36,7 +36,6 @@
#include <tools/string.hxx>
#include <i18npool/mslangid.hxx>
#include <tools/stream.hxx>
-#include <sfx2/docfile.hxx>
#include <osl/mutex.hxx>
#include <unotools/processfactory.hxx>
#include <ucbhelper/content.hxx>
@@ -335,7 +334,7 @@ void ConvDicXMLRightTextContext_Impl::EndElement()
///////////////////////////////////////////////////////////////////////////
-sal_Bool ConvDicXMLExport::Export( SfxMedium & /*rMedium*/ )
+sal_Bool ConvDicXMLExport::Export()
{
sal_Bool bRet = sal_False;
diff --git a/linguistic/source/convdicxml.hxx b/linguistic/source/convdicxml.hxx
index 0746b5998589..f0a3ae4417d4 100644
--- a/linguistic/source/convdicxml.hxx
+++ b/linguistic/source/convdicxml.hxx
@@ -79,7 +79,7 @@ public:
void _ExportContent();
sal_uInt32 exportDoc( enum ::xmloff::token::XMLTokenEnum eClass );
- sal_Bool Export( SfxMedium &rMedium );
+ sal_Bool Export();
};
diff --git a/linguistic/source/defs.hxx b/linguistic/source/defs.hxx
index ca3a611c30ee..48b6dc6d82e7 100644
--- a/linguistic/source/defs.hxx
+++ b/linguistic/source/defs.hxx
@@ -36,10 +36,17 @@
#include <com/sun/star/linguistic2/XHyphenator.hpp>
#include <com/sun/star/linguistic2/XThesaurus.hpp>
+#include <boost/shared_ptr.hpp>
+
+class SvStream;
+
+
///////////////////////////////////////////////////////////////////////////
#define A2OU(x) ::rtl::OUString::createFromAscii( x )
+typedef boost::shared_ptr< SvStream > SvStreamPtr;
+
namespace css = ::com::sun::star;
///////////////////////////////////////////////////////////////////////////
diff --git a/linguistic/source/dicimp.cxx b/linguistic/source/dicimp.cxx
index 1555fd3df4d7..019c6ffa1cd4 100644
--- a/linguistic/source/dicimp.cxx
+++ b/linguistic/source/dicimp.cxx
@@ -30,29 +30,30 @@
// MARKER(update_precomp.py): autogen include statement, do not remove
#include "precompiled_linguistic.hxx"
-#include <i18npool/lang.h>
-#ifndef _DICIMP_HXX
+#include <cppuhelper/factory.hxx>
#include <dicimp.hxx>
-#endif
-#ifndef _HYPHIMP_HXX
#include <hyphdsp.hxx>
-#endif
-#include <tools/urlobj.hxx>
+#include <i18npool/lang.h>
+#include <i18npool/mslangid.hxx>
+#include <osl/mutex.hxx>
#include <tools/debug.hxx>
#include <tools/fsys.hxx>
#include <tools/stream.hxx>
#include <tools/string.hxx>
-#include <sfx2/docfile.hxx>
-#include <osl/mutex.hxx>
+#include <tools/urlobj.hxx>
#include <unotools/processfactory.hxx>
-#include <i18npool/mslangid.hxx>
+#include <unotools/ucbstreamhelper.hxx>
+#include <com/sun/star/ucb/XSimpleFileAccess.hpp>
#include <com/sun/star/linguistic2/DictionaryType.hpp>
#include <com/sun/star/linguistic2/DictionaryEventFlags.hpp>
#include <com/sun/star/registry/XRegistryKey.hpp>
+#include <com/sun/star/io/XInputStream.hpp>
+#include <com/sun/star/io/XOutputStream.hpp>
+
+#include "defs.hxx"
-#include <cppuhelper/factory.hxx> // helper for factories
using namespace utl;
using namespace osl;
@@ -88,7 +89,7 @@ static sal_Bool getTag(const ByteString &rLine,
}
-INT16 ReadDicVersion( SvStream *pStream, USHORT &nLng, BOOL &bNeg )
+INT16 ReadDicVersion( SvStreamPtr &rpStream, USHORT &nLng, BOOL &bNeg )
{
// Sniff the header
INT16 nDicVersion;
@@ -97,13 +98,13 @@ INT16 ReadDicVersion( SvStream *pStream, USHORT &nLng, BOOL &bNeg )
nLng = LANGUAGE_NONE;
bNeg = FALSE;
- if (!pStream || pStream->GetError())
+ if (!rpStream.get() || rpStream->GetError())
return -1;
- sal_Size nSniffPos = pStream->Tell();
+ sal_Size nSniffPos = rpStream->Tell();
static sal_Size nVerOOo7Len = sal::static_int_cast< sal_Size >(strlen( pVerOOo7 ));
pMagicHeader[ nVerOOo7Len ] = '\0';
- if ((pStream->Read((void *) pMagicHeader, nVerOOo7Len) == nVerOOo7Len) &&
+ if ((rpStream->Read((void *) pMagicHeader, nVerOOo7Len) == nVerOOo7Len) &&
!strcmp(pMagicHeader, pVerOOo7))
{
sal_Bool bSuccess;
@@ -112,10 +113,10 @@ INT16 ReadDicVersion( SvStream *pStream, USHORT &nLng, BOOL &bNeg )
nDicVersion = 7;
// 1st skip magic / header line
- pStream->ReadLine(aLine);
+ rpStream->ReadLine(aLine);
// 2nd line: language all | en-US | pt-BR ...
- while (sal_True == (bSuccess = pStream->ReadLine(aLine)))
+ while (sal_True == (bSuccess = rpStream->ReadLine(aLine)))
{
ByteString aTagValue;
@@ -151,13 +152,13 @@ INT16 ReadDicVersion( SvStream *pStream, USHORT &nLng, BOOL &bNeg )
{
USHORT nLen;
- pStream->Seek (nSniffPos );
+ rpStream->Seek (nSniffPos );
- *pStream >> nLen;
+ *rpStream >> nLen;
if (nLen >= MAX_HEADER_LENGTH)
return -1;
- pStream->Read(pMagicHeader, nLen);
+ rpStream->Read(pMagicHeader, nLen);
pMagicHeader[nLen] = '\0';
// Check version magic
@@ -175,14 +176,14 @@ INT16 ReadDicVersion( SvStream *pStream, USHORT &nLng, BOOL &bNeg )
6 == nDicVersion)
{
// The language of the dictionary
- *pStream >> nLng;
+ *rpStream >> nLng;
if (VERS2_NOLANGUAGE == nLng)
nLng = LANGUAGE_NONE;
// Negative Flag
sal_Char nTmp;
- *pStream >> nTmp;
+ *rpStream >> nTmp;
bNeg = (BOOL)nTmp;
}
}
@@ -270,14 +271,29 @@ ULONG DictionaryNeo::loadEntries(const OUString &rMainURL)
if (rMainURL.getLength() == 0)
return 0;
+ DBG_ASSERT(!INetURLObject( rURL ).HasError(), "lng : invalid URL");
- ULONG nErr = sal::static_int_cast< ULONG >(-1);
+ uno::Reference< lang::XMultiServiceFactory > xServiceFactory( utl::getProcessServiceFactory() );
- // get stream to use
- SfxMedium aMedium( rMainURL, STREAM_READ | STREAM_SHARE_DENYWRITE, FALSE );
- SvStream *pStream = aMedium.GetInStream();
- if (!pStream)
- return nErr;
+ // get XInputStream stream
+ uno::Reference< io::XInputStream > xStream;
+ try
+ {
+ uno::Reference< ucb::XSimpleFileAccess > xAccess( xServiceFactory->createInstance(
+ A2OU( "com.sun.star.ucb.SimpleFileAccess" ) ), uno::UNO_QUERY_THROW );
+ xStream = xAccess->openFileRead( rMainURL );
+ }
+ catch (uno::Exception & e)
+ {
+ DBG_ASSERT( 0, "failed to get input stream" );
+ (void) e;
+ }
+ if (!xStream.is())
+ return static_cast< ULONG >(-1);
+
+ SvStreamPtr pStream = SvStreamPtr( utl::UcbStreamHelper::CreateStream( xStream ) );
+
+ ULONG nErr = sal::static_int_cast< ULONG >(-1);
// Header einlesen
BOOL bNegativ;
@@ -285,6 +301,7 @@ ULONG DictionaryNeo::loadEntries(const OUString &rMainURL)
nDicVersion = ReadDicVersion(pStream, nLang, bNegativ);
if (0 != (nErr = pStream->GetError()))
return nErr;
+
nLanguage = nLang;
eDicType = bNegativ ? DictionaryType_NEGATIVE : DictionaryType_POSITIVE;
@@ -398,16 +415,29 @@ ULONG DictionaryNeo::saveEntries(const OUString &rURL)
if (rURL.getLength() == 0)
return 0;
+ DBG_ASSERT(!INetURLObject( rURL ).HasError(), "lng : invalid URL");
- ULONG nErr = sal::static_int_cast< ULONG >(-1);
+ uno::Reference< lang::XMultiServiceFactory > xServiceFactory( utl::getProcessServiceFactory() );
- DBG_ASSERT(!INetURLObject( rURL ).HasError(), "lng : invalid URL");
- SfxMedium aMedium( rURL, STREAM_WRITE | STREAM_TRUNC | STREAM_SHARE_DENYALL,
- FALSE );
- aMedium.CreateTempFile(); // use temp file to write to...
- SvStream *pStream = aMedium.GetOutStream();
- if (!pStream)
- return nErr;
+ // get XOutputStream stream
+ uno::Reference< io::XStream > xStream;
+ try
+ {
+ uno::Reference< ucb::XSimpleFileAccess > xAccess( xServiceFactory->createInstance(
+ A2OU( "com.sun.star.ucb.SimpleFileAccess" ) ), uno::UNO_QUERY_THROW );
+ xStream = xAccess->openFileReadWrite( rURL );
+ }
+ catch (uno::Exception & e)
+ {
+ DBG_ASSERT( 0, "failed to get input stream" );
+ (void) e;
+ }
+ if (!xStream.is())
+ return static_cast< ULONG >(-1);
+
+ SvStreamPtr pStream = SvStreamPtr( utl::UcbStreamHelper::CreateStream( xStream ) );
+
+ ULONG nErr = sal::static_int_cast< ULONG >(-1);
rtl_TextEncoding eEnc = osl_getThreadTextEncoding();
if (nDicVersion >= 6)
@@ -500,10 +530,6 @@ ULONG DictionaryNeo::saveEntries(const OUString &rURL)
//! get return value before Stream is destroyed
ULONG nError = pStream->GetError();
- // flush file, close it and release any lock
- aMedium.Close();
- aMedium.Commit();
-
return nError;
}
diff --git a/linguistic/source/dicimp.hxx b/linguistic/source/dicimp.hxx
index 52eada08c486..917890bdd63c 100644
--- a/linguistic/source/dicimp.hxx
+++ b/linguistic/source/dicimp.hxx
@@ -42,6 +42,7 @@
#include <tools/string.hxx>
#include <tools/stream.hxx>
+#include "defs.hxx"
#include "misc.hxx"
@@ -49,7 +50,7 @@
#define DIC_MAX_ENTRIES 30000
-INT16 ReadDicVersion( SvStream *pStream, USHORT &nLng, BOOL &bNeg );
+INT16 ReadDicVersion( SvStreamPtr &rpStream, USHORT &nLng, BOOL &bNeg );
const String GetDicExtension();
///////////////////////////////////////////////////////////////////////////
diff --git a/linguistic/source/dlistimp.cxx b/linguistic/source/dlistimp.cxx
index fea10319a99c..80c61e64001b 100644
--- a/linguistic/source/dlistimp.cxx
+++ b/linguistic/source/dlistimp.cxx
@@ -30,9 +30,6 @@
// MARKER(update_precomp.py): autogen include statement, do not remove
#include "precompiled_linguistic.hxx"
-#include "dlistimp.hxx"
-#include "dicimp.hxx"
-#include "lngopt.hxx"
#include <osl/file.hxx>
#include <tools/fsys.hxx>
@@ -41,16 +38,22 @@
#include <i18npool/mslangid.hxx>
#include <unotools/pathoptions.hxx>
#include <unotools/useroptions.hxx>
-#include <sfx2/docfile.hxx>
-#include <vcl/svapp.hxx>
#include <cppuhelper/factory.hxx> // helper for factories
#include <unotools/localfilehelper.hxx>
+#include <comphelper/processfactory.hxx>
+#include <unotools/ucbstreamhelper.hxx>
#include <com/sun/star/frame/XStorable.hpp>
#include <com/sun/star/lang/Locale.hpp>
#include <com/sun/star/uno/Reference.h>
#include <com/sun/star/linguistic2/DictionaryEventFlags.hpp>
#include <com/sun/star/linguistic2/DictionaryListEventFlags.hpp>
#include <com/sun/star/registry/XRegistryKey.hpp>
+#include <com/sun/star/ucb/XSimpleFileAccess.hpp>
+
+#include "defs.hxx"
+#include "dlistimp.hxx"
+#include "dicimp.hxx"
+#include "lngopt.hxx"
//using namespace utl;
using namespace osl;
@@ -930,10 +933,28 @@ static BOOL IsVers2OrNewer( const String& rFileURL, USHORT& nLng, BOOL& bNeg )
return FALSE;
// get stream to be used
- SfxMedium aMedium( rFileURL, STREAM_READ | STREAM_SHARE_DENYWRITE, FALSE );
- SvStream *pStream = aMedium.GetInStream();
+ uno::Reference< lang::XMultiServiceFactory > xServiceFactory( comphelper::getProcessServiceFactory() );
+
+ // get XInputStream stream
+ uno::Reference< io::XInputStream > xStream;
+ try
+ {
+ uno::Reference< ucb::XSimpleFileAccess > xAccess( xServiceFactory->createInstance(
+ A2OU( "com.sun.star.ucb.SimpleFileAccess" ) ), uno::UNO_QUERY_THROW );
+ xStream = xAccess->openFileRead( rFileURL );
+ }
+ catch (uno::Exception & e)
+ {
+ DBG_ASSERT( 0, "failed to get input stream" );
+ (void) e;
+ }
+ DBG_ASSERT( xStream.is(), "failed to get stream for read" );
+ if (!xStream.is())
+ return FALSE;
+
+ SvStreamPtr pStream = SvStreamPtr( utl::UcbStreamHelper::CreateStream( xStream ) );
- int nDicVersion = ReadDicVersion (pStream, nLng, bNeg);
+ int nDicVersion = ReadDicVersion(pStream, nLng, bNeg);
if (2 == nDicVersion || nDicVersion >= 5)
return TRUE;
diff --git a/linguistic/source/hhconvdic.cxx b/linguistic/source/hhconvdic.cxx
index 7972c1b208c7..980aabb51bef 100644
--- a/linguistic/source/hhconvdic.cxx
+++ b/linguistic/source/hhconvdic.cxx
@@ -37,7 +37,6 @@
#include <tools/fsys.hxx>
#include <tools/stream.hxx>
#include <tools/string.hxx>
-#include <sfx2/docfile.hxx>
#include <osl/mutex.hxx>
#include <unotools/processfactory.hxx>
#include <ucbhelper/content.hxx>
diff --git a/linguistic/source/makefile.mk b/linguistic/source/makefile.mk
index 0012a9acd156..ccc9d1343f6f 100644
--- a/linguistic/source/makefile.mk
+++ b/linguistic/source/makefile.mk
@@ -68,13 +68,13 @@ SHL1TARGET= $(TARGET)$(DLLPOSTFIX)
SHL1STDLIBS= \
$(CPPULIB) \
$(CPPUHELPERLIB) \
+ $(COMPHELPERLIB) \
$(VOSLIB) \
$(TOOLSLIB) \
$(I18NISOLANGLIB) \
$(SVTOOLLIB) \
$(SVLLIB) \
$(VCLLIB) \
- $(SFXLIB) \
$(SALLIB) \
$(UCBHELPERLIB) \
$(UNOTOOLSLIB) \