Fixed for i#103021
[ooovba.git] / applied_patches / 0085-sfx2-check-existing-template-dirs.diff
blob287534d7e4961fe07a2793087812b67beb229b71
1 --- sfx2/source/doc/doctemplates.cxx.old 2008-10-14 08:23:43.000000000 +0200
2 +++ sfx2/source/doc/doctemplates.cxx 2009-03-23 20:37:14.000000000 +0100
3 @@ -37,6 +37,7 @@
4 #include <tools/urlobj.hxx>
5 #include <rtl/ustring.hxx>
6 #include <rtl/ustrbuf.hxx>
7 +#include <osl/file.hxx>
8 #ifndef _SV_RESARY_HXX
9 #include <tools/resary.hxx>
10 #endif
11 @@ -1218,17 +1219,22 @@ void SfxDocTplService_Impl::doUpdate()
12 OUString* pDirs = maTemplateDirs.getArray();
13 Content aDirContent;
15 - // the last directory in the list must be writable
16 - sal_Bool bWriteableDirectory = sal_True;
17 + // the last directory in the list must be writable
18 + sal_Bool bWriteableDirectory = sal_True;
19 while ( nCountDir )
21 nCountDir--;
22 - if ( Content::create( pDirs[ nCountDir ], maCmdEnv, aDirContent ) )
23 + osl::Directory aDirectory (pDirs[ nCountDir ]);
24 + osl::FileBase::RC nError = aDirectory.open();
25 + if (nError == osl::FileBase::E_None || bWriteableDirectory)
27 - createFromContent( aGroupList, aDirContent, sal_False, bWriteableDirectory );
28 + if ( Content::create( pDirs[ nCountDir ], maCmdEnv, aDirContent ) )
29 + {
30 + createFromContent( aGroupList, aDirContent, sal_False, bWriteableDirectory );
31 + }
32 + aDirectory.close();
35 - bWriteableDirectory = sal_False;
36 + bWriteableDirectory = sal_False;
39 // now check the list