You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openoffice.apache.org by or...@apache.org on 2012/08/20 13:46:47 UTC

svn commit: r1374979 [16/29] - in /incubator/ooo/branches/writer001: ./ ext_libraries/apr-util/ ext_libraries/apr-util/prj/ ext_libraries/apr/ ext_libraries/coinmp/ ext_libraries/hunspell/ ext_libraries/serf/ ext_libraries/serf/prj/ ext_sources/ extras...

Modified: incubator/ooo/branches/writer001/main/configure.in
URL: http://svn.apache.org/viewvc/incubator/ooo/branches/writer001/main/configure.in?rev=1374979&r1=1374978&r2=1374979&view=diff
==============================================================================
--- incubator/ooo/branches/writer001/main/configure.in (original)
+++ incubator/ooo/branches/writer001/main/configure.in Mon Aug 20 11:46:19 2012
@@ -308,7 +308,7 @@ AC_ARG_ENABLE(kde4,
 ],,)
 AC_ARG_ENABLE(binfilter,
 [  --enable-binfilter      Enable legacy binary file formats filters
-],,)
+],,enable_binfilter=yes)
 AC_ARG_ENABLE(rpath,
 [  --disable-rpath         Disable the use of relative paths in shared libraries
 ],,)
@@ -461,10 +461,6 @@ AC_ARG_WITH(beanshell-jar,
 [  --with-beanshell-jar=JARFILE   Specify path to jarfile manually ],
 [ BSH_JAR="$withval"
 ])
-AC_ARG_ENABLE(presenter-extra-ui,
-[  --enable-presenter-extra-ui   enables extra functionality during slideshow,
-                                 e.g. selecting pen color, erasing drawings etc.
-],,enable_presenter_extra_ui=no)
 AC_ARG_ENABLE(minimizer,
 [  --enable-minimizer          enables the build of the Presentation Minimizer extension
 ],,)
@@ -771,6 +767,18 @@ AC_ARG_WITH(local-solver,
 AC_ARG_ENABLE(javascript,
 [  --disable-javascript    Disables support for JavaScript macros.
 ],,)
+AC_ARG_WITH(system-apr,
+[  --with-system-apr       Use apr library already installed on the system
+],,)
+AC_ARG_WITH(system-apr-util,
+[  --with-system-apr-util  Use apr-util library already installed on the system
+],,)
+AC_ARG_WITH(system-serf,
+[  --with-system-serf      Use serf library already installed on the system
+],,)
+AC_ARG_WITH(system-coinmp,
+[  --with-system-coinmp    Use CoinMP library already installed on the system
+],,)
 AC_ARG_ENABLE(coinmp,
 [  --disable-coinmp        Do not use CoinMP as the Calc solver.
 ],,)
@@ -916,6 +924,16 @@ ADDITIONAL_REPOSITORIES="../ext_librarie
 SCPDEFS=""
 
 dnl ===================================================================
+dnl Check configure script vs. configure.in
+dnl ===================================================================
+AC_MSG_CHECKING([whether configure is up-to-date])
+if test "configure" -ot "configure.in"; then
+   AC_MSG_RESULT([no])
+   AC_MSG_ERROR([configure is not up-to-date, run autoconf first!])
+else
+   AC_MSG_RESULT([yes])
+fi
+dnl ===================================================================
 dnl Message.
 dnl ===================================================================
 echo "********************************************************************"
@@ -945,14 +963,6 @@ dnl Configure pre-requisites.
 dnl ===================================================================
 cat /dev/null > warn
 
-AC_MSG_CHECKING([whether configure is up-to-date])
-if test "configure" -ot "configure.in"; then
-   AC_MSG_RESULT([no])
-   AC_MSG_ERROR([configure is not up-to-date, run autoconf first!])
-else
-   AC_MSG_RESULT([yes])
-fi
-
 AC_PROG_EGREP
 AC_PROG_AWK
 AC_PATH_PROG( AWK, $AWK)
@@ -1948,12 +1958,27 @@ AC_SUBST(PERL)
 
 dnl ===================================================================
 dnl Testing for required Perl modules
+dnl The list of required Perl modules is documented here:
+dnl     http://wiki.openoffice.org/wiki/Documentation/Building_Guide_AOO#General_Build_Requirements
 dnl ===================================================================
 AC_MSG_CHECKING([for required Perl modules])
-if `$PERL -e 'use Archive::Zip; use LWP::UserAgent;'`; then
+if `$PERL -e 'use Archive::Zip; use LWP::UserAgent; use XML::Parser;'>/dev/null 2>&1`; then
 	AC_MSG_RESULT([all modules found])
 else
-	AC_MSG_ERROR([Failed to find some modules])
+    # Find out which modules are missing.
+    missing_perl_modules=
+    if ! `$PERL -e 'use Archive::Zip;'>/dev/null 2>&1`; then
+       missing_perl_modules=Archive::Zip
+    fi
+    if ! `$PERL -e 'use LWP::UserAgent;'>/dev/null 2>&1`; then
+       missing_perl_modules="$missing_perl_modules LWP::UserAgent"
+    fi
+    if ! `$PERL -e 'use XML::Parser;'>/dev/null 2>&1`; then
+       missing_perl_modules="$missing_perl_modules XML::Parser"
+    fi
+	AC_MSG_ERROR([
+    The missing Perl modules are: $missing_perl_modules
+    Install them as superuser/administrator with "cpan -i $missing_perl_modules"])
 fi
 
 dnl ===================================================================
@@ -3585,7 +3610,7 @@ msi - Windows .msi
          AC_MSG_ERROR([dpkg needed for deb creation. Install dpkg.])
       fi
    fi
-   if echo "PKGFORMAT" | $EGREP osx 2>&1 >/dev/null; then
+   if echo "$PKGFORMAT" | $EGREP osx 2>&1 >/dev/null; then
       if test "$_os" = "Darwin"; then
          AC_MSG_CHECKING([for PackageMaker availability])
          if ! test -x /Developer/Applications/Utilities/PackageMaker.app/Contents/MacOS/PackageMaker; then
@@ -4442,19 +4467,103 @@ AC_SUBST(ENABLE_JAVASCRIPT)
 
 
 dnl ===================================================================
+dnl Check for system apr
+dnl ===================================================================
+SYSTEM_APR=NO
+APR_CFLAGS=
+APR_LIBS=
+AC_MSG_CHECKING([which libapr to use])
+if test "x$with_system_apr" = "xyes" -o -n "$with_system_libs"; then
+    AC_MSG_RESULT([system])
+    PKG_CHECK_MODULES([APR], [apr-1 >= 1.0])
+    SYSTEM_APR=YES
+else
+    AC_MSG_RESULT([internal])
+    SYSTEM_APR=NO
+    BUILD_TYPE="$BUILD_TYPE APR"
+fi
+AC_SUBST(SYSTEM_APR)
+AC_SUBST(APR_CFLAGS)
+AC_SUBST(APR_LIBS)
+
+
+dnl ===================================================================
+dnl Check for system apr-util
+dnl ===================================================================
+SYSTEM_APR_UTIL=NO
+APR_UTIL_CFLAGS=
+APR_UTIL_LIBS=
+AC_MSG_CHECKING([which libapr-util to use])
+if test "x$with_system_apr_util" = "xyes" -o -n "$with_system_libs"; then
+    AC_MSG_RESULT([system])
+    PKG_CHECK_MODULES([APR_UTIL], [apr-util-1 >= 1.0])
+    SYSTEM_APR_UTIL=YES
+else
+    AC_MSG_RESULT([internal])
+    SYSTEM_APR_UTIL=NO
+    BUILD_TYPE="$BUILD_TYPE APR_UTIL"
+fi
+AC_SUBST(SYSTEM_APR_UTIL)
+AC_SUBST(APR_UTIL_CFLAGS)
+AC_SUBST(APR_UTIL_LIBS)
+
+
+dnl ===================================================================
+dnl Check for system serf
+dnl ===================================================================
+SYSTEM_SERF=NO
+SERF_CFLAGS=
+SERF_LIBS=
+AC_MSG_CHECKING([which libserf to use])
+if test "x$with_system_serf" = "xyes" -o -n "$with_system_libs"; then
+    AC_MSG_RESULT([system])
+    PKG_CHECK_MODULES([SERF], [serf-1 >= 1.1])
+    SYSTEM_SERF=YES
+else
+    AC_MSG_RESULT([internal])
+    SYSTEM_SERF=NO
+    BUILD_TYPE="$BUILD_TYPE SERF"
+fi
+AC_SUBST(SYSTEM_SERF)
+AC_SUBST(SERF_CFLAGS)
+AC_SUBST(SERF_LIBS)
+
+
+dnl ===================================================================
 dnl Check for CoinMP
 dnl ===================================================================
 ENABLE_COINMP=
+SYSTEM_COINMP=NO
+COINMP_CFLAGS=
+COINMP_LIBS=
 AC_MSG_CHECKING([whether to enable support for CoinMP])
 if test "x$enable_coinmp" = "xyes"; then
-   BUILD_TYPE="$BUILD_TYPE COINMP"
-   AC_MSG_RESULT([yes])
-   ENABLE_COINMP=YES
+    BUILD_TYPE="$BUILD_TYPE COINMP"
+    AC_MSG_RESULT([yes])
+    ENABLE_COINMP=YES
+
+    dnl Check wether to use system or internal CoinMP
+    AC_MSG_CHECKING([which coinmp to use])
+    if test "x$with_system_coinmp" = "xyes" -o -n "$with_system_libs"; then
+        AC_MSG_RESULT([system])
+	PKG_CHECK_MODULES([COINMP], [coinmp])
+        SYSTEM_COINMP=YES
+        # some systems need this. Like Ubuntu....
+        AC_CHECK_LIB(m, floor)
+        AC_CHECK_LIB(dl, dlopen)
+    else
+        AC_MSG_RESULT([internal])
+        SYSTEM_COINMP=NO
+        BUILD_TYPE="$BUILD_TYPE COINMP"
+    fi
 else
-   AC_MSG_RESULT([no])
-   ENABLE_COINMP=NO
+    AC_MSG_RESULT([no])
+    ENABLE_COINMP=NO
 fi
 AC_SUBST(ENABLE_COINMP)
+AC_SUBST(SYSTEM_COINMP)
+AC_SUBST(COINMP_CFLAGS)
+AC_SUBST(COINMP_LIBS)
 
 
 dnl ===================================================================
@@ -6094,16 +6203,6 @@ fi
 
 AC_SUBST(ENABLE_OPENGL)
 
-AC_MSG_CHECKING([whether to build extra presenter ui])
-if test -n "$enable_presenter_extra_ui" -a "$enable_presenter_extra_ui" != "no"; then
-   AC_MSG_RESULT([yes])
-   ENABLE_PRESENTER_EXTRA_UI=YES
-else
-   AC_MSG_RESULT([no])
-   ENABLE_PRESENTER_EXTRA_UI=NO
-fi
-AC_SUBST(ENABLE_PRESENTER_EXTRA_UI)
-
 AC_MSG_CHECKING([whether to build the Presentation Minimizer extension])
 if test -n "$enable_minimizer" -a "$enable_minimizer" != "no"; then
    AC_MSG_RESULT([yes])
@@ -6774,7 +6873,7 @@ dnl Test whether to include category-B f
 dnl ===================================================================
 WITH_CATB_FONTS=
 AC_MSG_CHECKING([whether to include category B fonts])
-if test "x$enable_category_b_fonts" = "xyes"; then
+if test "x$enable_category_b_fonts" = "xyes" && test "x$with_fonts" != "xno"; then
    AC_MSG_RESULT([yes])
    BUILD_TYPE="$BUILD_TYPE CATB_FONTS"
    WITH_CATB_FONTS=YES

Modified: incubator/ooo/branches/writer001/main/cui/source/customize/acccfg.cxx
URL: http://svn.apache.org/viewvc/incubator/ooo/branches/writer001/main/cui/source/customize/acccfg.cxx?rev=1374979&r1=1374978&r2=1374979&view=diff
==============================================================================
--- incubator/ooo/branches/writer001/main/cui/source/customize/acccfg.cxx (original)
+++ incubator/ooo/branches/writer001/main/cui/source/customize/acccfg.cxx Mon Aug 20 11:46:19 2012
@@ -999,7 +999,7 @@ IMPL_LINK( SfxAcceleratorConfigPage, Loa
 //-----------------------------------------------
 IMPL_LINK( SfxAcceleratorConfigPage, Save, Button*, EMPTYARG )
 {
-    StartFileDialog( WB_SAVEAS | WB_STDMODAL | WB_3DLOOK, aLoadAccelConfigStr );
+    StartFileDialog( WB_SAVEAS | WB_STDMODAL | WB_3DLOOK, aSaveAccelConfigStr );
     return 0;
 }
 
@@ -1367,7 +1367,7 @@ IMPL_LINK( SfxAcceleratorConfigPage, Sav
 void SfxAcceleratorConfigPage::StartFileDialog( WinBits nBits, const String& rTitle )
 {
     bool bSave = ( ( nBits & WB_SAVEAS ) == WB_SAVEAS );
-    short nDialogType = bSave ? css::ui::dialogs::TemplateDescription::FILESAVE_SIMPLE
+    short nDialogType = bSave ? css::ui::dialogs::TemplateDescription::FILESAVE_AUTOEXTENSION
                               : css::ui::dialogs::TemplateDescription::FILEOPEN_SIMPLE;
     if ( m_pFileDlg )
         delete m_pFileDlg;
@@ -1376,6 +1376,7 @@ void SfxAcceleratorConfigPage::StartFile
     m_pFileDlg->SetTitle( rTitle );
     m_pFileDlg->AddFilter( aFilterAllStr, DEFINE_CONST_UNICODE( FILEDIALOG_FILTER_ALL ) ); 
     m_pFileDlg->AddFilter( aFilterCfgStr, DEFINE_CONST_UNICODE( "*.cfg" ) );
+    m_pFileDlg->SetCurrentFilter( aFilterCfgStr );
 
     Link aDlgClosedLink = bSave ? LINK( this, SfxAcceleratorConfigPage, SaveHdl )
                                 : LINK( this, SfxAcceleratorConfigPage, LoadHdl );

Modified: incubator/ooo/branches/writer001/main/cui/source/customize/acccfg.src
URL: http://svn.apache.org/viewvc/incubator/ooo/branches/writer001/main/cui/source/customize/acccfg.src?rev=1374979&r1=1374978&r2=1374979&view=diff
==============================================================================
--- incubator/ooo/branches/writer001/main/cui/source/customize/acccfg.src (original)
+++ incubator/ooo/branches/writer001/main/cui/source/customize/acccfg.src Mon Aug 20 11:46:19 2012
@@ -197,7 +197,7 @@ TabPage RID_SVXPAGE_KEYBOARD
 	};
 	String STR_FILTERNAME_CFG
 	{
-		Text [ en-US ] = "Configuration" ;
+		Text [ en-US ] = "Configuration (*.cfg)" ;
 	};
 };
 

Modified: incubator/ooo/branches/writer001/main/cui/source/options/opthtml.cxx
URL: http://svn.apache.org/viewvc/incubator/ooo/branches/writer001/main/cui/source/options/opthtml.cxx?rev=1374979&r1=1374978&r2=1374979&view=diff
==============================================================================
--- incubator/ooo/branches/writer001/main/cui/source/options/opthtml.cxx (original)
+++ incubator/ooo/branches/writer001/main/cui/source/options/opthtml.cxx Mon Aug 20 11:46:19 2012
@@ -198,7 +198,9 @@ void OfaHtmlTabPage::Reset( const SfxIte
 	aIgnoreFontNamesCB.Check(pHtmlOpt->IsIgnoreFontFamily());
 	sal_uInt16 nExport = pHtmlOpt->GetExportMode();
 	if( nExport >= ( sizeof( aExportToPosArr ) / sizeof( sal_uInt16 ) ) )
-		nExport = 4;	// default for bad config entry is NS 4.0
+    {
+        nExport = 3;    // default for bad config entry is NS 4.0
+    }
 	sal_uInt16 nPosArr = aExportToPosArr[ nExport ];
 //	if( nPosArr == DEPRECATED_ENTRY )
 //		nPosArr = aExportToPosArr[ 4 ];		// again: NS 4.0 is default

Modified: incubator/ooo/branches/writer001/main/cui/source/tabpages/numpages.cxx
URL: http://svn.apache.org/viewvc/incubator/ooo/branches/writer001/main/cui/source/tabpages/numpages.cxx?rev=1374979&r1=1374978&r2=1374979&view=diff
==============================================================================
--- incubator/ooo/branches/writer001/main/cui/source/tabpages/numpages.cxx (original)
+++ incubator/ooo/branches/writer001/main/cui/source/tabpages/numpages.cxx Mon Aug 20 11:46:19 2012
@@ -3247,6 +3247,12 @@ void SvxNumPositionTabPage::InitControls
 		nMask <<= 1;
 
 	}
+    if (SVX_MAX_NUM <= nLvl)
+    {
+        OSL_ENSURE(false, "cannot happen.");
+        return;
+    }
+
 	if(bSameDistBorderNum)
 	{
 		long nDistBorderNum;

Modified: incubator/ooo/branches/writer001/main/desktop/inc/app.hxx
URL: http://svn.apache.org/viewvc/incubator/ooo/branches/writer001/main/desktop/inc/app.hxx?rev=1374979&r1=1374978&r2=1374979&view=diff
==============================================================================
--- incubator/ooo/branches/writer001/main/desktop/inc/app.hxx (original)
+++ incubator/ooo/branches/writer001/main/desktop/inc/app.hxx Mon Aug 20 11:46:19 2012
@@ -74,6 +74,7 @@ class Desktop : public Application
             BE_LANGUAGE_MISSING,
             BE_USERINSTALL_NOTENOUGHDISKSPACE,
             BE_USERINSTALL_NOWRITEACCESS,
+            BE_MUTLISESSION_NOT_SUPPROTED,
             BE_OFFICECONFIG_BROKEN
 		};
         enum BootstrapStatus

Modified: incubator/ooo/branches/writer001/main/desktop/os2/source/applauncher/launcher.cxx
URL: http://svn.apache.org/viewvc/incubator/ooo/branches/writer001/main/desktop/os2/source/applauncher/launcher.cxx?rev=1374979&r1=1374978&r2=1374979&view=diff
==============================================================================
--- incubator/ooo/branches/writer001/main/desktop/os2/source/applauncher/launcher.cxx (original)
+++ incubator/ooo/branches/writer001/main/desktop/os2/source/applauncher/launcher.cxx Mon Aug 20 11:46:19 2012
@@ -64,13 +64,11 @@ int main( int argc, char* argv[])
  	sprintf( szLibpath, "\"%s%s\\URE\\BIN\";\"%s%s\\BASIS\\PROGRAM\";%%BeginLIBPATH%%;",
   		szDrive, szDir, szDrive, szDir);
 	DosSetExtLIBPATH( (PCSZ)szLibpath, BEGIN_LIBPATH);
+
 	// make sure we load DLL from our path only, so multiple instances/versions
 	// can be loaded.
-#if 0
-	// YD this feature is not compatible with innowin b20,
-	// java cannot load with this flag enabled
 	DosSetExtLIBPATH( (PCSZ)"T", LIBPATHSTRICT);
-#endif
+
 #if OSL_DEBUG_LEVEL > 0
 	rc = DosQueryExtLIBPATH( (PSZ)szLibpath, BEGIN_LIBPATH);
 	fprintf( stderr, "2 BeginLibPath: %s\n", szLibpath);

Modified: incubator/ooo/branches/writer001/main/desktop/source/app/app.cxx
URL: http://svn.apache.org/viewvc/incubator/ooo/branches/writer001/main/desktop/source/app/app.cxx?rev=1374979&r1=1374978&r2=1374979&view=diff
==============================================================================
--- incubator/ooo/branches/writer001/main/desktop/source/app/app.cxx (original)
+++ incubator/ooo/branches/writer001/main/desktop/source/app/app.cxx Mon Aug 20 11:46:19 2012
@@ -243,6 +243,8 @@ static sal_Bool _bCrashReporterEnabled =
 static const ::rtl::OUString CFG_PACKAGE_COMMON_HELP   ( RTL_CONSTASCII_USTRINGPARAM( "org.openoffice.Office.Common/Help"));
 
 static ::rtl::OUString getBrandSharePreregBundledPathURL();
+// #i119950# Add a option that not to display the "Fatal Error" on dialog title
+void FatalError(const ::rtl::OUString& sMessage, const sal_Bool isDisplayErrorString = sal_True);
 // ----------------------------------------------------------------------------
 
 ResMgr* Desktop::GetDesktopResManager()
@@ -354,7 +356,7 @@ OUString MakeStartupConfigAccessErrorMes
 //
 // Thats why we have to use a special native message box here which does not use yield :-)
 //=============================================================================
-void FatalError(const ::rtl::OUString& sMessage)
+void FatalError(const ::rtl::OUString& sMessage, const sal_Bool isDisplayErrorString)
 {
     ::rtl::OUString sProductKey = ::utl::Bootstrap::getProductKey();
     if ( ! sProductKey.getLength())
@@ -369,8 +371,9 @@ void FatalError(const ::rtl::OUString& s
 
     ::rtl::OUStringBuffer sTitle (128);
     sTitle.append      (sProductKey     );
-    sTitle.appendAscii (" - Fatal Error");
-
+	if (isDisplayErrorString) {
+		sTitle.appendAscii (" - Fatal Error");
+	}
     Application::ShowNativeErrorBox (sTitle.makeStringAndClear (), sMessage);
     _exit(ExitHelper::E_FATAL_ERROR);
 }
@@ -805,7 +808,7 @@ void MinimalCommandEnv::handle(
 */
 static bool needsInstallBundledExtensionBlobs (
     const ::rtl::OUString& rsMarkerURL,
-    ::osl::Directory& rDirectory)
+    const ::rtl::OUString& rsDirectoryURL)
 {
     ::osl::DirectoryItem aMarkerItem;
     if (::osl::DirectoryItem::get(rsMarkerURL, aMarkerItem) == ::osl::File::E_NOENT)
@@ -823,14 +826,18 @@ static bool needsInstallBundledExtension
 
     const TimeValue aMarkerModifyTime (aMarkerStat.getModifyTime());
 
-    if (rDirectory.open() != osl::File::E_None)
+    ::osl::Directory aDirectory (rsDirectoryURL);
+    if (aDirectory.open() != osl::File::E_None)
     {
         // No extension directory.  Nothing to be done.
         return false;
     }
 
+    // Check the date of each extension in the given directory.  If
+    // any of them is newer than the marker file then an installation
+    // is necessary.
     ::osl::DirectoryItem aDirectoryItem;
-    while (rDirectory.getNextItem(aDirectoryItem) == osl::File::E_None)
+    while (aDirectory.getNextItem(aDirectoryItem) == osl::File::E_None)
     {
         ::osl::FileStatus aFileStat (FileStatusMask_ModifyTime);
         if (aDirectoryItem.getFileStatus(aFileStat) != ::osl::File::E_None)
@@ -839,11 +846,26 @@ static bool needsInstallBundledExtension
             continue;
         if (aFileStat.getModifyTime().Seconds > aMarkerModifyTime.Seconds)
         {
-            rDirectory.close();
+            aDirectory.close();
             return true;
         }
 	}
-    rDirectory.close();
+    aDirectory.close();
+
+    // Also check the last modification time of the containing
+    // directory.  This ensures installation after an update of
+    // OpenOffice.  Without it the extensions have the date on which
+    // they where built, not the date on which they where installed.
+    if (::osl::DirectoryItem::get(rsDirectoryURL, aDirectoryItem) == osl::File::E_None)
+    {    
+        ::osl::FileStatus aDirectoryStat (FileStatusMask_ModifyTime);
+        const ::osl::FileBase::RC eResult (aDirectoryItem.getFileStatus(aDirectoryStat));
+        if (eResult == ::osl::File::E_None)
+        {
+            if (aDirectoryStat.getModifyTime().Seconds > aMarkerModifyTime.Seconds)
+                return true;
+        }
+    }
 
     // No file in the directory is newer than the marker.
     return false;
@@ -861,7 +883,7 @@ static void installBundledExtensionBlobs
     // than the marker we have to install any extension.
     ::rtl::OUString sMarkerURL (RTL_CONSTASCII_USTRINGPARAM("$BUNDLED_EXTENSIONS_USER/lastsynchronized.bundled"));
     ::rtl::Bootstrap::expandMacros(sMarkerURL);
-    if ( ! needsInstallBundledExtensionBlobs(sMarkerURL, aDir))
+    if ( ! needsInstallBundledExtensionBlobs(sMarkerURL, aDirUrl))
         return;
     writeLastModified(sMarkerURL);
 
@@ -995,6 +1017,11 @@ void Desktop::Init()
         if ( aStatus == OfficeIPCThread::IPC_STATUS_BOOTSTRAP_ERROR )
         {
             SetBootstrapError( BE_PATHINFO_MISSING );
+			
+        }
+        else if ( aStatus == OfficeIPCThread::IPC_STATUS_MULTI_TS_ERROR )
+        {
+            SetBootstrapError( BE_MUTLISESSION_NOT_SUPPROTED );
         }
         else if ( aStatus == OfficeIPCThread::IPC_STATUS_2ND_OFFICE )
         {
@@ -1241,7 +1268,13 @@ void Desktop::HandleBootstrapPathErrors(
 
 void Desktop::HandleBootstrapErrors( BootstrapError aBootstrapError )
 {
-    if ( aBootstrapError == BE_PATHINFO_MISSING )
+	if ( aBootstrapError == BE_MUTLISESSION_NOT_SUPPROTED ) {
+		OUString        aMessage;
+		aMessage = GetMsgString( STR_BOOTSTRAP_ERR_MULTISESSION,
+                        OUString( RTL_CONSTASCII_USTRINGPARAM( "You have another instance running in a different terminal session. Close that instance and then try again." )) );
+        FatalError(aMessage,sal_False);
+
+	} else if ( aBootstrapError == BE_PATHINFO_MISSING )
     {
         OUString                    aErrorMsg;
         OUString                    aBuffer;
@@ -2021,7 +2054,11 @@ void Desktop::Main()
 
         if ( !pExecGlobals->bRestartRequested )
         {
-            if ((!pCmdLineArgs->WantsToLoadDocument() && !pCmdLineArgs->IsInvisible() && !pCmdLineArgs->IsHeadless() && !pCmdLineArgs->IsQuickstart()) &&
+            if ((!pCmdLineArgs->IsNoDefault() &&
+                 !pCmdLineArgs->WantsToLoadDocument() &&
+                 !pCmdLineArgs->IsInvisible() &&
+                 !pCmdLineArgs->IsHeadless() &&
+                 !pCmdLineArgs->IsQuickstart()) &&
                 (SvtModuleOptions().IsModuleInstalled(SvtModuleOptions::E_SSTARTMODULE)) &&
                 (!bExistsRecoveryData                                                  ) &&
                 (!bExistsSessionData                                                   ) &&

Modified: incubator/ooo/branches/writer001/main/desktop/source/app/desktop.hrc
URL: http://svn.apache.org/viewvc/incubator/ooo/branches/writer001/main/desktop/source/app/desktop.hrc?rev=1374979&r1=1374978&r2=1374979&view=diff
==============================================================================
--- incubator/ooo/branches/writer001/main/desktop/source/app/desktop.hrc (original)
+++ incubator/ooo/branches/writer001/main/desktop/source/app/desktop.hrc Mon Aug 20 11:46:19 2012
@@ -67,6 +67,7 @@
 #define STR_BOOTSTRAP_ERR_NO_CFG_SERVICE	(RID_DESKTOP_STRING_START+121)
 #define STR_BOOTSTRAP_ERR_CFG_DATAACCESS	(RID_DESKTOP_STRING_START+122)
 #define STR_BOOTSTRAP_ERR_NO_PATHSET_SERVICE (RID_DESKTOP_STRING_START+123)
+#define STR_BOOTSTRAP_ERR_MULTISESSION       (RID_DESKTOP_STRING_START+124)
 
 #define STR_ASK_START_SETUP_MANUALLY		(RID_DESKTOP_STRING_START+152)
 

Modified: incubator/ooo/branches/writer001/main/desktop/source/app/desktop.src
URL: http://svn.apache.org/viewvc/incubator/ooo/branches/writer001/main/desktop/source/app/desktop.src?rev=1374979&r1=1374978&r2=1374979&view=diff
==============================================================================
--- incubator/ooo/branches/writer001/main/desktop/source/app/desktop.src (original)
+++ incubator/ooo/branches/writer001/main/desktop/source/app/desktop.src Mon Aug 20 11:46:19 2012
@@ -94,6 +94,11 @@ String STR_BOOTSTRAP_ERR_NO_CFG_SERVICE
 	Text [ en-US ] = "The configuration service is not available.";
 };
 
+String STR_BOOTSTRAP_ERR_MULTISESSION
+{
+    Text [ en-US ] = "You have another instance running in a different terminal session. Close that instance and then try again.";
+};
+
 String STR_ASK_START_SETUP_MANUALLY
 {
 	Text [ en-US ] = "Start the setup application to repair the installation from the CD or the folder containing the installation packages.";

Modified: incubator/ooo/branches/writer001/main/desktop/source/app/officeipcthread.cxx
URL: http://svn.apache.org/viewvc/incubator/ooo/branches/writer001/main/desktop/source/app/officeipcthread.cxx?rev=1374979&r1=1374978&r2=1374979&view=diff
==============================================================================
--- incubator/ooo/branches/writer001/main/desktop/source/app/officeipcthread.cxx (original)
+++ incubator/ooo/branches/writer001/main/desktop/source/app/officeipcthread.cxx Mon Aug 20 11:46:19 2012
@@ -496,16 +496,29 @@ OfficeIPCThread::Status OfficeIPCThread:
 	do
 	{
 		OSecurity &rSecurity = Security::get();
-		// Try to create pipe
-		if ( pThread->maPipe.create( pThread->maPipeIdent.getStr(), OPipe::TOption_Create, rSecurity ))
+		// #119950# Try to connect pipe first. If connected, means another instance already launched.
+		if( pThread->maPipe.create( pThread->maPipeIdent.getStr(), OPipe::TOption_Open, rSecurity )) 
 		{
-			// Pipe created
-			nPipeMode = PIPEMODE_CREATED;
+			// #119950# Test if launched in a new terminal session for same user. On Windows platform, normally a user is resticted
+			// to have only one terminal session. But if mutiple terminal session for one user is allowed, crash will happen if launched
+			// OpenOffice from more than one terminal session. So need to detect and prevent this happen.
+
+			// Will try to create a same name pipe. If creation is successfully, means current instance is launched in a new session.
+			vos::OPipe	maSessionPipe;
+			if ( maSessionPipe.create( pThread->maPipeIdent.getStr(), OPipe::TOption_Create, rSecurity )) {
+				// Can create a pipe with same name. This can only happen in multiple terminal session environment on Windows platform.
+				// Will display a warning dialog and exit.
+				return IPC_STATUS_MULTI_TS_ERROR;
+			} else {
+				// Pipe connected to first office
+				nPipeMode = PIPEMODE_CONNECTED;
+			}
+
 		}
-		else if( pThread->maPipe.create( pThread->maPipeIdent.getStr(), OPipe::TOption_Open, rSecurity )) // Creation not successfull, now we try to connect
+		else if ( pThread->maPipe.create( pThread->maPipeIdent.getStr(), OPipe::TOption_Create, rSecurity )) // Connection not successfull, now we try to create
 		{
-			// Pipe connected to first office
-			nPipeMode = PIPEMODE_CONNECTED;
+			// Pipe created
+			nPipeMode = PIPEMODE_CREATED;
 		}
 		else
 		{

Modified: incubator/ooo/branches/writer001/main/desktop/source/app/officeipcthread.hxx
URL: http://svn.apache.org/viewvc/incubator/ooo/branches/writer001/main/desktop/source/app/officeipcthread.hxx?rev=1374979&r1=1374978&r2=1374979&view=diff
==============================================================================
--- incubator/ooo/branches/writer001/main/desktop/source/app/officeipcthread.hxx (original)
+++ incubator/ooo/branches/writer001/main/desktop/source/app/officeipcthread.hxx Mon Aug 20 11:46:19 2012
@@ -107,7 +107,8 @@ class OfficeIPCThread : public vos::OThr
 	{
 		IPC_STATUS_OK,
 		IPC_STATUS_2ND_OFFICE,
-		IPC_STATUS_BOOTSTRAP_ERROR
+		IPC_STATUS_BOOTSTRAP_ERROR,
+		IPC_STATUS_MULTI_TS_ERROR
 	};
 
 	virtual ~OfficeIPCThread();

Modified: incubator/ooo/branches/writer001/main/desktop/source/deployment/gui/makefile.mk
URL: http://svn.apache.org/viewvc/incubator/ooo/branches/writer001/main/desktop/source/deployment/gui/makefile.mk?rev=1374979&r1=1374978&r2=1374979&view=diff
==============================================================================
--- incubator/ooo/branches/writer001/main/desktop/source/deployment/gui/makefile.mk (original)
+++ incubator/ooo/branches/writer001/main/desktop/source/deployment/gui/makefile.mk Mon Aug 20 11:46:19 2012
@@ -32,10 +32,6 @@ USE_PCH :=
 ENABLE_PCH :=
 PRJINC:=..$/..
 
-.IF "$(GUI)"=="OS2"
-TARGET = deplgui
-.ENDIF
-
 .INCLUDE : settings.mk
 .INCLUDE : $(PRJ)$/source$/deployment$/inc$/dp_misc.mk
 DLLPRE =
@@ -56,7 +52,7 @@ SLOFILES = \
         $(SLO)$/descedit.obj
 
 .IF "$(GUI)"=="OS2"
-SHL1TARGET = $(TARGET)$(DLLPOSTFIX)
+SHL1TARGET = deplgui$(DLLPOSTFIX)
 .ELSE
 SHL1TARGET = $(TARGET)$(DLLPOSTFIX).uno
 .ENDIF

Modified: incubator/ooo/branches/writer001/main/desktop/source/deployment/makefile.mk
URL: http://svn.apache.org/viewvc/incubator/ooo/branches/writer001/main/desktop/source/deployment/makefile.mk?rev=1374979&r1=1374978&r2=1374979&view=diff
==============================================================================
--- incubator/ooo/branches/writer001/main/desktop/source/deployment/makefile.mk (original)
+++ incubator/ooo/branches/writer001/main/desktop/source/deployment/makefile.mk Mon Aug 20 11:46:19 2012
@@ -29,10 +29,6 @@ ENABLE_EXCEPTIONS = TRUE
 #USE_DEFFILE = TRUE
 NO_BSYMBOLIC = TRUE
 
-.IF "$(GUI)"=="OS2"
-TARGET = deploy
-.ENDIF
-
 .INCLUDE : settings.mk
 .INCLUDE : $(PRJ)$/source$/deployment$/inc$/dp_misc.mk
 
@@ -41,7 +37,7 @@ INCPRE += inc
 DLLPRE =
 
 .IF "$(GUI)"=="OS2"
-SHL1TARGET = $(TARGET)$(DLLPOSTFIX)
+SHL1TARGET = deploy$(DLLPOSTFIX)
 .ELSE
 SHL1TARGET = $(TARGET)$(DLLPOSTFIX).uno
 .ENDIF

Modified: incubator/ooo/branches/writer001/main/drawinglayer/inc/drawinglayer/attribute/fillhatchattribute.hxx
URL: http://svn.apache.org/viewvc/incubator/ooo/branches/writer001/main/drawinglayer/inc/drawinglayer/attribute/fillhatchattribute.hxx?rev=1374979&r1=1374978&r2=1374979&view=diff
==============================================================================
--- incubator/ooo/branches/writer001/main/drawinglayer/inc/drawinglayer/attribute/fillhatchattribute.hxx (original)
+++ incubator/ooo/branches/writer001/main/drawinglayer/inc/drawinglayer/attribute/fillhatchattribute.hxx Mon Aug 20 11:46:19 2012
@@ -68,6 +68,7 @@ namespace drawinglayer
                 double fDistance, 
                 double fAngle, 
                 const basegfx::BColor& rColor, 
+                sal_uInt32 nMinimalDiscreteDistance, 
                 bool bFillBackground);
 			FillHatchAttribute();
 			FillHatchAttribute(const FillHatchAttribute& rCandidate);
@@ -85,7 +86,17 @@ namespace drawinglayer
 			double getDistance() const;
 			double getAngle() const;
 			const basegfx::BColor& getColor() const;
-			bool isFillBackground() const;
+            
+            // #120230# If a minimal discrete distance is wanted (VCL used 3, this is the default for the
+            // global instance, too), set this unequal to zero. Zero means not to use it. If set
+            // bigger zero (should be at least two, one leads to a full plane filled with lines when
+            // Distance in discrete views is smaller than one) this will be used when the discrete
+            // value is less than the given one. This is used to 'emulate' old VCL behaviour which
+            // makes hatches look better by not making distances as small as needed, but keeping 
+            // them on a minimal discrete value for more appealing visualisation.
+            sal_uInt32 getMinimalDiscreteDistance() const;
+			
+            bool isFillBackground() const;
 		};
 	} // end of namespace attribute
 } // end of namespace drawinglayer

Modified: incubator/ooo/branches/writer001/main/drawinglayer/inc/drawinglayer/primitive2d/fillhatchprimitive2d.hxx
URL: http://svn.apache.org/viewvc/incubator/ooo/branches/writer001/main/drawinglayer/inc/drawinglayer/primitive2d/fillhatchprimitive2d.hxx?rev=1374979&r1=1374978&r2=1374979&view=diff
==============================================================================
--- incubator/ooo/branches/writer001/main/drawinglayer/inc/drawinglayer/primitive2d/fillhatchprimitive2d.hxx (original)
+++ incubator/ooo/branches/writer001/main/drawinglayer/inc/drawinglayer/primitive2d/fillhatchprimitive2d.hxx Mon Aug 20 11:46:19 2012
@@ -25,7 +25,7 @@
 #define INCLUDED_DRAWINGLAYER_PRIMITIVE2D_FILLHATCHPRIMITIVE2D_HXX
 
 #include <drawinglayer/drawinglayerdllapi.h>
-#include <drawinglayer/primitive2d/baseprimitive2d.hxx>
+#include <drawinglayer/primitive2d/primitivetools2d.hxx>
 #include <drawinglayer/attribute/fillhatchattribute.hxx>
 #include <basegfx/color/bcolor.hxx>
 
@@ -43,9 +43,14 @@ namespace drawinglayer
             If the background is to be filled, a flag in FillHatchAttribute is set and
             the BColor defines the background color.
 
+            #120230# This primitive is now evtl. metric dependent due to the value
+            MinimalDiscreteDistance in the FillHatchAttribute if the value is not zero.
+            This is used for a more appealing, VCL-like visualisation by not letting the 
+            distances get too small between lines.
+
             The decomposition will deliver the hatch lines.
          */
-		class DRAWINGLAYER_DLLPUBLIC FillHatchPrimitive2D : public BufferedDecompositionPrimitive2D
+		class DRAWINGLAYER_DLLPUBLIC FillHatchPrimitive2D : public DiscreteMetricDependentPrimitive2D
 		{
 		private:
             /// the geometric definition
@@ -61,7 +66,7 @@ namespace drawinglayer
 			/// local decomposition.
 			virtual Primitive2DSequence create2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const;
 
-		public:
+        public:
             /// constructor
 			FillHatchPrimitive2D(
 				const basegfx::B2DRange& rObjectRange, 
@@ -79,7 +84,10 @@ namespace drawinglayer
 			/// get range
 			virtual basegfx::B2DRange getB2DRange(const geometry::ViewInformation2D& rViewInformation) const;
 
-			/// provide unique ID
+			/// get local decomposition. Overloaded since this decomposition is view-dependent
+			virtual Primitive2DSequence get2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const;
+
+            /// provide unique ID
 			DeclPrimitrive2DIDBlock()
 		};
 	} // end of namespace primitive2d

Modified: incubator/ooo/branches/writer001/main/drawinglayer/inc/drawinglayer/primitive2d/primitivetools2d.hxx
URL: http://svn.apache.org/viewvc/incubator/ooo/branches/writer001/main/drawinglayer/inc/drawinglayer/primitive2d/primitivetools2d.hxx?rev=1374979&r1=1374978&r2=1374979&view=diff
==============================================================================
--- incubator/ooo/branches/writer001/main/drawinglayer/inc/drawinglayer/primitive2d/primitivetools2d.hxx (original)
+++ incubator/ooo/branches/writer001/main/drawinglayer/inc/drawinglayer/primitive2d/primitivetools2d.hxx Mon Aug 20 11:46:19 2012
@@ -50,6 +50,13 @@ namespace drawinglayer
              */
 			double									mfDiscreteUnit;
 
+        protected:
+            /// helper to update discrete unit
+            void updateDiscreteUnit(double fNew)
+            {
+                mfDiscreteUnit = fNew;
+            }
+
 		public:
             /// constructor
 			DiscreteMetricDependentPrimitive2D()

Modified: incubator/ooo/branches/writer001/main/drawinglayer/source/attribute/fillhatchattribute.cxx
URL: http://svn.apache.org/viewvc/incubator/ooo/branches/writer001/main/drawinglayer/source/attribute/fillhatchattribute.cxx?rev=1374979&r1=1374978&r2=1374979&view=diff
==============================================================================
--- incubator/ooo/branches/writer001/main/drawinglayer/source/attribute/fillhatchattribute.cxx (original)
+++ incubator/ooo/branches/writer001/main/drawinglayer/source/attribute/fillhatchattribute.cxx Mon Aug 20 11:46:19 2012
@@ -42,6 +42,7 @@ namespace drawinglayer
 			double									mfDistance;
 			double									mfAngle;
 			basegfx::BColor							maColor;
+            sal_uInt32                              mnMinimalDiscreteDistance;
 
 			// bitfield
 			unsigned								mbFillBackground : 1;
@@ -51,12 +52,14 @@ namespace drawinglayer
                 double fDistance, 
                 double fAngle, 
                 const basegfx::BColor& rColor, 
+                sal_uInt32 nMinimalDiscreteDistance, 
                 bool bFillBackground)
 			:	mnRefCount(0),
 			    meStyle(eStyle),
 		    	mfDistance(fDistance),
 			    mfAngle(fAngle),
 			    maColor(rColor),
+                mnMinimalDiscreteDistance(nMinimalDiscreteDistance),
 			    mbFillBackground(bFillBackground)
             {
             }
@@ -66,6 +69,7 @@ namespace drawinglayer
 			double getDistance() const { return mfDistance; }
 			double getAngle() const { return mfAngle; }
 			const basegfx::BColor& getColor() const { return maColor; }
+            sal_uInt32 getMinimalDiscreteDistance() const { return mnMinimalDiscreteDistance; }
 			bool isFillBackground() const { return mbFillBackground; }
 
 			bool operator==(const ImpFillHatchAttribute& rCandidate) const
@@ -74,7 +78,8 @@ namespace drawinglayer
                     && getDistance() == rCandidate.getDistance()
 				    && getAngle() == rCandidate.getAngle()
 				    && getColor() == rCandidate.getColor()
-				    && isFillBackground()  == rCandidate.isFillBackground());
+                    && getMinimalDiscreteDistance() == rCandidate.getMinimalDiscreteDistance()
+				    && isFillBackground() == rCandidate.isFillBackground());
             }
 
             static ImpFillHatchAttribute* get_global_default()
@@ -87,6 +92,7 @@ namespace drawinglayer
                         HATCHSTYLE_SINGLE,
                         0.0, 0.0,
                         basegfx::BColor(),
+                        3, // same as VCL
                         false);
 
                     // never delete; start with RefCount 1, not 0
@@ -102,9 +108,16 @@ namespace drawinglayer
             double fDistance, 
             double fAngle, 
             const basegfx::BColor& rColor, 
+            sal_uInt32 nMinimalDiscreteDistance, 
             bool bFillBackground)
-		:	mpFillHatchAttribute(new ImpFillHatchAttribute(
-                eStyle, fDistance, fAngle, rColor, bFillBackground))
+		:	mpFillHatchAttribute(
+                new ImpFillHatchAttribute(
+                    eStyle, 
+                    fDistance, 
+                    fAngle, 
+                    rColor, 
+                    nMinimalDiscreteDistance,
+                    bFillBackground))
 		{
 		}
 
@@ -193,6 +206,11 @@ namespace drawinglayer
             return mpFillHatchAttribute->getColor(); 
         }
 
+        sal_uInt32 FillHatchAttribute::getMinimalDiscreteDistance() const
+        {
+            return mpFillHatchAttribute->getMinimalDiscreteDistance();
+        }
+
 		bool FillHatchAttribute::isFillBackground() const 
         { 
             return mpFillHatchAttribute->isFillBackground(); 

Modified: incubator/ooo/branches/writer001/main/drawinglayer/source/primitive2d/fillhatchprimitive2d.cxx
URL: http://svn.apache.org/viewvc/incubator/ooo/branches/writer001/main/drawinglayer/source/primitive2d/fillhatchprimitive2d.cxx?rev=1374979&r1=1374978&r2=1374979&view=diff
==============================================================================
--- incubator/ooo/branches/writer001/main/drawinglayer/source/primitive2d/fillhatchprimitive2d.cxx (original)
+++ incubator/ooo/branches/writer001/main/drawinglayer/source/primitive2d/fillhatchprimitive2d.cxx Mon Aug 20 11:46:19 2012
@@ -32,6 +32,7 @@
 #include <basegfx/tools/canvastools.hxx>
 #include <drawinglayer/primitive2d/polygonprimitive2d.hxx>
 #include <drawinglayer/primitive2d/drawinglayer_primitivetypes2d.hxx>
+#include <drawinglayer/geometry/viewinformation2d.hxx>
 
 //////////////////////////////////////////////////////////////////////////////
 
@@ -46,12 +47,26 @@ namespace drawinglayer
 		Primitive2DSequence FillHatchPrimitive2D::create2DDecomposition(const geometry::ViewInformation2D& /*rViewInformation*/) const
 		{
 		    Primitive2DSequence aRetval;
+
             if(!getFillHatch().isDefault())
             {
 			    // create hatch
 			    const basegfx::BColor aHatchColor(getFillHatch().getColor());
 			    const double fAngle(getFillHatch().getAngle());
 			    ::std::vector< basegfx::B2DHomMatrix > aMatrices;
+                double fDistance(getFillHatch().getDistance());
+                const bool bAdaptDistance(0 != getFillHatch().getMinimalDiscreteDistance());
+
+                // #120230# evtl. adapt distance
+                if(bAdaptDistance)
+                {
+                    const double fDiscreteDistance(getFillHatch().getDistance() / getDiscreteUnit());
+
+                    if(fDiscreteDistance < (double)getFillHatch().getMinimalDiscreteDistance())
+                    {
+                        fDistance = (double)getFillHatch().getMinimalDiscreteDistance() * getDiscreteUnit();
+                    }
+                }
 
 			    // get hatch transformations
 			    switch(getFillHatch().getStyle())
@@ -59,7 +74,7 @@ namespace drawinglayer
 				    case attribute::HATCHSTYLE_TRIPLE:
 				    {
 					    // rotated 45 degrees
-					    texture::GeoTexSvxHatch aHatch(getObjectRange(), getFillHatch().getDistance(), fAngle - F_PI4);
+					    texture::GeoTexSvxHatch aHatch(getObjectRange(), fDistance, fAngle - F_PI4);
 					    aHatch.appendTransformations(aMatrices);
 
 					    // fall-through by purpose
@@ -67,7 +82,7 @@ namespace drawinglayer
 				    case attribute::HATCHSTYLE_DOUBLE:
 				    {
 					    // rotated 90 degrees
-					    texture::GeoTexSvxHatch aHatch(getObjectRange(), getFillHatch().getDistance(), fAngle - F_PI2);
+					    texture::GeoTexSvxHatch aHatch(getObjectRange(), fDistance, fAngle - F_PI2);
 					    aHatch.appendTransformations(aMatrices);
 
 					    // fall-through by purpose
@@ -75,7 +90,7 @@ namespace drawinglayer
 				    case attribute::HATCHSTYLE_SINGLE:
 				    {
 					    // angle as given
-					    texture::GeoTexSvxHatch aHatch(getObjectRange(), getFillHatch().getDistance(), fAngle);
+					    texture::GeoTexSvxHatch aHatch(getObjectRange(), fDistance, fAngle);
 					    aHatch.appendTransformations(aMatrices);
 				    }
 			    }
@@ -120,7 +135,7 @@ namespace drawinglayer
 			const basegfx::B2DRange& rObjectRange, 
 			const basegfx::BColor& rBColor, 
 			const attribute::FillHatchAttribute& rFillHatch)
-		:	BufferedDecompositionPrimitive2D(),
+		:	DiscreteMetricDependentPrimitive2D(),
 			maObjectRange(rObjectRange),
 			maFillHatch(rFillHatch),
 			maBColor(rBColor)
@@ -129,7 +144,7 @@ namespace drawinglayer
 
 		bool FillHatchPrimitive2D::operator==(const BasePrimitive2D& rPrimitive) const
 		{
-			if(BufferedDecompositionPrimitive2D::operator==(rPrimitive))
+			if(DiscreteMetricDependentPrimitive2D::operator==(rPrimitive))
 			{
 				const FillHatchPrimitive2D& rCompare = (FillHatchPrimitive2D&)rPrimitive;
 
@@ -147,7 +162,24 @@ namespace drawinglayer
 			return getObjectRange();
 		}
 
-		// provide unique ID
+		Primitive2DSequence FillHatchPrimitive2D::get2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const
+        {
+			::osl::MutexGuard aGuard( m_aMutex );
+            bool bAdaptDistance(0 != getFillHatch().getMinimalDiscreteDistance());
+
+            if(bAdaptDistance)
+            {
+                // behave view-dependent
+                return DiscreteMetricDependentPrimitive2D::get2DDecomposition(rViewInformation);
+            }
+            else
+            {
+                // behave view-independent
+                return BufferedDecompositionPrimitive2D::get2DDecomposition(rViewInformation);
+            }
+        }
+
+        // provide unique ID
 		ImplPrimitrive2DIDBlock(FillHatchPrimitive2D, PRIMITIVE2D_ID_FILLHATCHPRIMITIVE2D)
 
 	} // end of namespace primitive2d

Modified: incubator/ooo/branches/writer001/main/drawinglayer/source/primitive2d/metafileprimitive2d.cxx
URL: http://svn.apache.org/viewvc/incubator/ooo/branches/writer001/main/drawinglayer/source/primitive2d/metafileprimitive2d.cxx?rev=1374979&r1=1374978&r2=1374979&view=diff
==============================================================================
--- incubator/ooo/branches/writer001/main/drawinglayer/source/primitive2d/metafileprimitive2d.cxx (original)
+++ incubator/ooo/branches/writer001/main/drawinglayer/source/primitive2d/metafileprimitive2d.cxx Mon Aug 20 11:46:19 2012
@@ -964,6 +964,7 @@ namespace
             (double)rHatch.GetDistance(),
             (double)rHatch.GetAngle() * F_PI1800,
             rHatch.GetColor().getBColor(),
+            3, // same default as VCL, a minimum of three discrete units (pixels) offset
             false);
 	}
 

Modified: incubator/ooo/branches/writer001/main/drawinglayer/source/primitive2d/primitivetools2d.cxx
URL: http://svn.apache.org/viewvc/incubator/ooo/branches/writer001/main/drawinglayer/source/primitive2d/primitivetools2d.cxx?rev=1374979&r1=1374978&r2=1374979&view=diff
==============================================================================
--- incubator/ooo/branches/writer001/main/drawinglayer/source/primitive2d/primitivetools2d.cxx (original)
+++ incubator/ooo/branches/writer001/main/drawinglayer/source/primitive2d/primitivetools2d.cxx Mon Aug 20 11:46:19 2012
@@ -50,7 +50,7 @@ namespace drawinglayer
 			if(!getBuffered2DDecomposition().hasElements())
 			{
 				// remember new valid DiscreteUnit
-				const_cast< DiscreteMetricDependentPrimitive2D* >(this)->mfDiscreteUnit = fDiscreteUnit;
+				const_cast< DiscreteMetricDependentPrimitive2D* >(this)->updateDiscreteUnit(fDiscreteUnit);
 			}
 
 			// call base implementation

Modified: incubator/ooo/branches/writer001/main/drawinglayer/source/primitive2d/svggradientprimitive2d.cxx
URL: http://svn.apache.org/viewvc/incubator/ooo/branches/writer001/main/drawinglayer/source/primitive2d/svggradientprimitive2d.cxx?rev=1374979&r1=1374978&r2=1374979&view=diff
==============================================================================
--- incubator/ooo/branches/writer001/main/drawinglayer/source/primitive2d/svggradientprimitive2d.cxx (original)
+++ incubator/ooo/branches/writer001/main/drawinglayer/source/primitive2d/svggradientprimitive2d.cxx Mon Aug 20 11:46:19 2012
@@ -399,19 +399,19 @@ namespace drawinglayer
                         fPolyWidth, fPolyHeight, 
                         aPolyRange.getMinX(), aPolyRange.getMinY()));
 
-                // create unit transform from unit vector [0.0 .. 1.0] along the X-Axis to given 
-                // gradient vector defined by Start,End
-                const basegfx::B2DVector aVector(getEnd() - getStart());
+                // get start, end in object coordinates
+                const basegfx::B2DPoint aStart(aObjectTransform * getStart());
+                const basegfx::B2DPoint aEnd(aObjectTransform * getEnd());
+
+                // create transform from unit vector [0.0 .. 1.0] along the X-Axis to given 
+                // gradient vector in object coordinates defined by Start, End
+                const basegfx::B2DVector aVector(aEnd - aStart);
                 const double fVectorLength(aVector.getLength());
-                basegfx::B2DHomMatrix aUnitGradientToGradient;
-
-                aUnitGradientToGradient.scale(fVectorLength, 1.0);
-                aUnitGradientToGradient.rotate(atan2(aVector.getY(), aVector.getX()));
-                aUnitGradientToGradient.translate(getStart().getX(), getStart().getY());
+                basegfx::B2DHomMatrix aUnitGradientToObject;
 
-                // create full transform from unit gradient coordinates to object coordinates
-                // including the SvgGradient transformation
-                basegfx::B2DHomMatrix aUnitGradientToObject(aObjectTransform * aUnitGradientToGradient);
+                aUnitGradientToObject.scale(fVectorLength, 1.0);
+                aUnitGradientToObject.rotate(atan2(aVector.getY(), aVector.getX()));
+                aUnitGradientToObject.translate(aStart.getX(), aStart.getY());
 
                 // create inverse from it
                 basegfx::B2DHomMatrix aObjectToUnitGradient(aUnitGradientToObject);

Modified: incubator/ooo/branches/writer001/main/drawinglayer/source/processor2d/vclmetafileprocessor2d.cxx
URL: http://svn.apache.org/viewvc/incubator/ooo/branches/writer001/main/drawinglayer/source/processor2d/vclmetafileprocessor2d.cxx?rev=1374979&r1=1374978&r2=1374979&view=diff
==============================================================================
--- incubator/ooo/branches/writer001/main/drawinglayer/source/processor2d/vclmetafileprocessor2d.cxx (original)
+++ incubator/ooo/branches/writer001/main/drawinglayer/source/processor2d/vclmetafileprocessor2d.cxx Mon Aug 20 11:46:19 2012
@@ -423,8 +423,9 @@ namespace drawinglayer
 
 				if(pLineAttribute)
 				{
-					// pre-fill fLineWidth
-					fLineWidth = pLineAttribute->getWidth();
+					// pre-fill fLineWidth #119198# Need to apply maCurrentTransformation, too (!)
+					const basegfx::B2DVector aDiscreteUnit(maCurrentTransformation * basegfx::B2DVector(pLineAttribute->getWidth(), 0.0));
+					fLineWidth = aDiscreteUnit.getLength();
 
 					// pre-fill fMiterLength
 					fMiterLength = fLineWidth;

Modified: incubator/ooo/branches/writer001/main/editeng/inc/editeng/editeng.hxx
URL: http://svn.apache.org/viewvc/incubator/ooo/branches/writer001/main/editeng/inc/editeng/editeng.hxx?rev=1374979&r1=1374978&r2=1374979&view=diff
==============================================================================
--- incubator/ooo/branches/writer001/main/editeng/inc/editeng/editeng.hxx (original)
+++ incubator/ooo/branches/writer001/main/editeng/inc/editeng/editeng.hxx Mon Aug 20 11:46:19 2012
@@ -266,8 +266,8 @@ public:
 	void			ShowParagraph( sal_uInt16 nParagraph, sal_Bool bShow = sal_True );
 	sal_Bool			IsParagraphVisible( sal_uInt16 nParagraph );
 
-    ::svl::IUndoManager&
-                    GetUndoManager();
+    ::svl::IUndoManager& GetUndoManager();
+    ::svl::IUndoManager* SetUndoManager(::svl::IUndoManager* pNew);
 	void			UndoActionStart( sal_uInt16 nId );
 	void			UndoActionEnd( sal_uInt16 nId );
 	sal_Bool		IsInUndo();

Modified: incubator/ooo/branches/writer001/main/editeng/inc/editeng/editund2.hxx
URL: http://svn.apache.org/viewvc/incubator/ooo/branches/writer001/main/editeng/inc/editeng/editund2.hxx?rev=1374979&r1=1374978&r2=1374979&view=diff
==============================================================================
--- incubator/ooo/branches/writer001/main/editeng/inc/editeng/editund2.hxx (original)
+++ incubator/ooo/branches/writer001/main/editeng/inc/editeng/editund2.hxx Mon Aug 20 11:46:19 2012
@@ -29,15 +29,18 @@
 
 class ImpEditEngine;
 
-class EDITENG_DLLPRIVATE EditUndoManager : public SfxUndoManager
+class EDITENG_DLLPUBLIC EditUndoManager : public SfxUndoManager
 {
+private:
 	using SfxUndoManager::Undo;
 	using SfxUndoManager::Redo;
+    friend class ImpEditEngine;
+
+	ImpEditEngine*	mpImpEE;
+    void SetImpEditEngine(ImpEditEngine* pNew);
 
-private:
-	ImpEditEngine*	pImpEE;
 public:
-					EditUndoManager( ImpEditEngine* pImpEE );
+    EditUndoManager(sal_uInt16 nMaxUndoActionCount = 20);
 
 	virtual sal_Bool Undo();
 	virtual sal_Bool Redo();

Modified: incubator/ooo/branches/writer001/main/editeng/inc/editeng/outliner.hxx
URL: http://svn.apache.org/viewvc/incubator/ooo/branches/writer001/main/editeng/inc/editeng/outliner.hxx?rev=1374979&r1=1374978&r2=1374979&view=diff
==============================================================================
--- incubator/ooo/branches/writer001/main/editeng/inc/editeng/outliner.hxx (original)
+++ incubator/ooo/branches/writer001/main/editeng/inc/editeng/outliner.hxx Mon Aug 20 11:46:19 2012
@@ -939,8 +939,8 @@ public:
 	// nFormat muss ein Wert aus dem enum EETextFormat sein (wg.CLOOKS)
     sal_uLong           Read( SvStream& rInput, const String& rBaseURL, sal_uInt16, SvKeyValueIterator* pHTTPHeaderAttrs = NULL );
 
-    ::svl::IUndoManager&
-                    GetUndoManager();
+    ::svl::IUndoManager& GetUndoManager();
+    ::svl::IUndoManager* SetUndoManager(::svl::IUndoManager* pNew);
 
 	void            QuickSetAttribs( const SfxItemSet& rSet, const ESelection& rSel );
 	void            QuickInsertField( const SvxFieldItem& rFld, const ESelection& rSel );

Modified: incubator/ooo/branches/writer001/main/editeng/source/editeng/editeng.cxx
URL: http://svn.apache.org/viewvc/incubator/ooo/branches/writer001/main/editeng/source/editeng/editeng.cxx?rev=1374979&r1=1374978&r2=1374979&view=diff
==============================================================================
--- incubator/ooo/branches/writer001/main/editeng/source/editeng/editeng.cxx (original)
+++ incubator/ooo/branches/writer001/main/editeng/source/editeng/editeng.cxx Mon Aug 20 11:46:19 2012
@@ -147,6 +147,12 @@ sal_Bool EditEngine::IsInUndo()
 	return pImpEditEngine->GetUndoManager();
 }
 
+::svl::IUndoManager* EditEngine::SetUndoManager(::svl::IUndoManager* pNew)
+{
+	DBG_CHKTHIS( EditEngine, 0 );
+	return pImpEditEngine->SetUndoManager(pNew);
+}
+
 void EditEngine::UndoActionStart( sal_uInt16 nId )
 {
 	DBG_CHKTHIS( EditEngine, 0 );

Modified: incubator/ooo/branches/writer001/main/editeng/source/editeng/editundo.cxx
URL: http://svn.apache.org/viewvc/incubator/ooo/branches/writer001/main/editeng/source/editeng/editundo.cxx?rev=1374979&r1=1374978&r2=1374979&view=diff
==============================================================================
--- incubator/ooo/branches/writer001/main/editeng/source/editeng/editundo.cxx (original)
+++ incubator/ooo/branches/writer001/main/editeng/source/editeng/editundo.cxx Mon Aug 20 11:46:19 2012
@@ -65,22 +65,28 @@ void lcl_DoSetSelection( EditView* pView
 // -----------------------------------------------------------------------
 // EditUndoManager
 // ------------------------------------------------------------------------
-EditUndoManager::EditUndoManager( ImpEditEngine* p )
+EditUndoManager::EditUndoManager(sal_uInt16 nMaxUndoActionCount )
+:   SfxUndoManager(nMaxUndoActionCount),
+    mpImpEE(0)
 {
-	pImpEE = p;
+}
+
+void EditUndoManager::SetImpEditEngine(ImpEditEngine* pNew) 
+{ 
+    mpImpEE = pNew; 
 }
 
 sal_Bool __EXPORT EditUndoManager::Undo()
 {
-	if ( GetUndoActionCount() == 0 )
+	if ( !mpImpEE || GetUndoActionCount() == 0 )
 		return sal_False;
 
-	DBG_ASSERT( pImpEE->GetActiveView(), "Active View?" );
+	DBG_ASSERT( mpImpEE->GetActiveView(), "Active View?" );
 
-	if ( !pImpEE->GetActiveView() )
+	if ( !mpImpEE->GetActiveView() )
 	{
-		if ( pImpEE->GetEditViews().Count() )
-			pImpEE->SetActiveView( pImpEE->GetEditViews().GetObject(0) );
+		if ( mpImpEE->GetEditViews().Count() )
+			mpImpEE->SetActiveView( mpImpEE->GetEditViews().GetObject(0) );
 		else
 		{
 			DBG_ERROR( "Undo in Engine ohne View nicht moeglich!" );
@@ -88,34 +94,34 @@ sal_Bool __EXPORT EditUndoManager::Undo(
 		}
 	}
 
-	pImpEE->GetActiveView()->GetImpEditView()->DrawSelection();	// alte Selektion entfernen
+	mpImpEE->GetActiveView()->GetImpEditView()->DrawSelection();	// alte Selektion entfernen
 
-	pImpEE->SetUndoMode( sal_True );
+	mpImpEE->SetUndoMode( sal_True );
 	sal_Bool bDone = SfxUndoManager::Undo();
-	pImpEE->SetUndoMode( sal_False );
+	mpImpEE->SetUndoMode( sal_False );
 
-	EditSelection aNewSel( pImpEE->GetActiveView()->GetImpEditView()->GetEditSelection() );
+	EditSelection aNewSel( mpImpEE->GetActiveView()->GetImpEditView()->GetEditSelection() );
 	DBG_ASSERT( !aNewSel.IsInvalid(), "Ungueltige Selektion nach Undo()" );
-	DBG_ASSERT( !aNewSel.DbgIsBuggy( pImpEE->GetEditDoc() ), "Kaputte Selektion nach Undo()" );
+	DBG_ASSERT( !aNewSel.DbgIsBuggy( mpImpEE->GetEditDoc() ), "Kaputte Selektion nach Undo()" );
 
 	aNewSel.Min() = aNewSel.Max();
-	pImpEE->GetActiveView()->GetImpEditView()->SetEditSelection( aNewSel );
-	pImpEE->FormatAndUpdate( pImpEE->GetActiveView() );
+	mpImpEE->GetActiveView()->GetImpEditView()->SetEditSelection( aNewSel );
+	mpImpEE->FormatAndUpdate( mpImpEE->GetActiveView() );
 
 	return bDone;
 }
 
 sal_Bool __EXPORT EditUndoManager::Redo()
 {
-	if ( GetRedoActionCount() == 0 )
+	if ( !mpImpEE || GetRedoActionCount() == 0 )
 		return sal_False;
 
-	DBG_ASSERT( pImpEE->GetActiveView(), "Active View?" );
+	DBG_ASSERT( mpImpEE->GetActiveView(), "Active View?" );
 
-	if ( !pImpEE->GetActiveView() )
+	if ( !mpImpEE->GetActiveView() )
 	{
-		if ( pImpEE->GetEditViews().Count() )
-			pImpEE->SetActiveView( pImpEE->GetEditViews().GetObject(0) );
+		if ( mpImpEE->GetEditViews().Count() )
+			mpImpEE->SetActiveView( mpImpEE->GetEditViews().GetObject(0) );
 		else
 		{
 			DBG_ERROR( "Redo in Engine ohne View nicht moeglich!" );
@@ -123,19 +129,19 @@ sal_Bool __EXPORT EditUndoManager::Redo(
 		}
 	}
 
-	pImpEE->GetActiveView()->GetImpEditView()->DrawSelection();	// alte Selektion entfernen
+	mpImpEE->GetActiveView()->GetImpEditView()->DrawSelection();	// alte Selektion entfernen
 
-	pImpEE->SetUndoMode( sal_True );
+	mpImpEE->SetUndoMode( sal_True );
 	sal_Bool bDone = SfxUndoManager::Redo();
-	pImpEE->SetUndoMode( sal_False );
+	mpImpEE->SetUndoMode( sal_False );
 
-	EditSelection aNewSel( pImpEE->GetActiveView()->GetImpEditView()->GetEditSelection() );
+	EditSelection aNewSel( mpImpEE->GetActiveView()->GetImpEditView()->GetEditSelection() );
 	DBG_ASSERT( !aNewSel.IsInvalid(), "Ungueltige Selektion nach Undo()" );
-	DBG_ASSERT( !aNewSel.DbgIsBuggy( pImpEE->GetEditDoc() ), "Kaputte Selektion nach Redo()" );
+	DBG_ASSERT( !aNewSel.DbgIsBuggy( mpImpEE->GetEditDoc() ), "Kaputte Selektion nach Redo()" );
 
 	aNewSel.Min() = aNewSel.Max();
-	pImpEE->GetActiveView()->GetImpEditView()->SetEditSelection( aNewSel );
-	pImpEE->FormatAndUpdate( pImpEE->GetActiveView() );
+	mpImpEE->GetActiveView()->GetImpEditView()->SetEditSelection( aNewSel );
+	mpImpEE->FormatAndUpdate( mpImpEE->GetActiveView() );
 
 	return bDone;
 }

Modified: incubator/ooo/branches/writer001/main/editeng/source/editeng/impedit.hxx
URL: http://svn.apache.org/viewvc/incubator/ooo/branches/writer001/main/editeng/source/editeng/impedit.hxx?rev=1374979&r1=1374978&r2=1374979&view=diff
==============================================================================
--- incubator/ooo/branches/writer001/main/editeng/source/editeng/impedit.hxx (original)
+++ incubator/ooo/branches/writer001/main/editeng/source/editeng/impedit.hxx Mon Aug 20 11:46:19 2012
@@ -709,6 +709,7 @@ public:
 	const EditDoc&			GetEditDoc() const		{ return aEditDoc; }
 
 	inline EditUndoManager&	GetUndoManager();
+    inline ::svl::IUndoManager* SetUndoManager(::svl::IUndoManager* pNew);
 
 	void					SetUpdateMode( sal_Bool bUp, EditView* pCurView = 0, sal_Bool bForceUpdate = sal_False );
 	sal_Bool				GetUpdateMode()	const	{ return bUpdate; }
@@ -1097,14 +1098,34 @@ inline void ImpEditEngine::IdleFormatAnd
 	aIdleFormatter.DoIdleFormat( pCurView );
 }
 
-#ifndef SVX_LIGHT
 inline EditUndoManager&	ImpEditEngine::GetUndoManager()
 {
 	if ( !pUndoManager )
-		pUndoManager = new EditUndoManager( this );
+    {
+		pUndoManager = new EditUndoManager();
+        pUndoManager->SetImpEditEngine(this);
+    }
 	return *pUndoManager;
 }
-#endif
+
+inline ::svl::IUndoManager* ImpEditEngine::SetUndoManager(::svl::IUndoManager* pNew)
+{
+    ::svl::IUndoManager* pRetval = pUndoManager;
+
+    if(pUndoManager)
+    {
+        pUndoManager->SetImpEditEngine(0);
+    }
+
+    pUndoManager = dynamic_cast< EditUndoManager* >(pNew);
+
+    if(pUndoManager)
+    {
+        pUndoManager->SetImpEditEngine(this);
+    }
+
+    return pRetval;
+}
 
 inline ParaPortion*	ImpEditEngine::FindParaPortion( ContentNode* pNode ) const
 {

Modified: incubator/ooo/branches/writer001/main/editeng/source/editeng/impedit4.cxx
URL: http://svn.apache.org/viewvc/incubator/ooo/branches/writer001/main/editeng/source/editeng/impedit4.cxx?rev=1374979&r1=1374978&r2=1374979&view=diff
==============================================================================
--- incubator/ooo/branches/writer001/main/editeng/source/editeng/impedit4.cxx (original)
+++ incubator/ooo/branches/writer001/main/editeng/source/editeng/impedit4.cxx Mon Aug 20 11:46:19 2012
@@ -2812,7 +2812,8 @@ void ImpEditEngine::SetAutoCompleteText(
 #endif // !SVX_LIGHT
 }
 
-
+namespace editeng // #i120045# namespace to avoid XCode template-misoptimization
+{
 struct TransliterationChgData
 {
     sal_uInt16                      nStart;
@@ -2821,6 +2822,8 @@ struct TransliterationChgData
     String                      aNewText;
     uno::Sequence< sal_Int32 >  aOffsets;
 };
+}
+using editeng::TransliterationChgData;
 
 
 EditSelection ImpEditEngine::TransliterateText( const EditSelection& rSelection, sal_Int32 nTransliterationMode )

Modified: incubator/ooo/branches/writer001/main/editeng/source/items/xmlcnitm.cxx
URL: http://svn.apache.org/viewvc/incubator/ooo/branches/writer001/main/editeng/source/items/xmlcnitm.cxx?rev=1374979&r1=1374978&r2=1374979&view=diff
==============================================================================
--- incubator/ooo/branches/writer001/main/editeng/source/items/xmlcnitm.cxx (original)
+++ incubator/ooo/branches/writer001/main/editeng/source/items/xmlcnitm.cxx Mon Aug 20 11:46:19 2012
@@ -23,6 +23,9 @@
 
 // MARKER(update_precomp.py): autogen include statement, do not remove
 #include "precompiled_editeng.hxx"
+
+#include <memory>
+
 #include <com/sun/star/xml/AttributeData.hpp>
 #include <com/sun/star/lang/XUnoTunnel.hpp>
 #include <xmloff/xmlcnimp.hxx>
@@ -114,7 +117,8 @@ sal_Bool SvXMLAttrContainerItem::PutValu
 	}
 	else
 	{
-		SvXMLAttrContainerData* pNewImpl = new SvXMLAttrContainerData;
+        ::std::auto_ptr<SvXMLAttrContainerData> pNewImpl(
+            new SvXMLAttrContainerData);
 
 		try
 		{
@@ -165,17 +169,15 @@ sal_Bool SvXMLAttrContainerItem::PutValu
 			if( nAttr == nCount )
 			{
 				delete pImpl;
-                pImpl = pNewImpl;
+                pImpl = pNewImpl.release();
 			}
 			else
 			{
-				delete pNewImpl;
 				return sal_False;
 			}
 		}
 		catch(...)
 		{
-			delete pNewImpl;
 			return sal_False;
 		}
 	}

Modified: incubator/ooo/branches/writer001/main/editeng/source/outliner/outliner.cxx
URL: http://svn.apache.org/viewvc/incubator/ooo/branches/writer001/main/editeng/source/outliner/outliner.cxx?rev=1374979&r1=1374978&r2=1374979&view=diff
==============================================================================
--- incubator/ooo/branches/writer001/main/editeng/source/outliner/outliner.cxx (original)
+++ incubator/ooo/branches/writer001/main/editeng/source/outliner/outliner.cxx Mon Aug 20 11:46:19 2012
@@ -256,9 +256,10 @@ void Outliner::Init( sal_uInt16 nMode )
 
 	pEditEngine->SetControlWord( nCtrl );
 
+    EnableUndo(false);
 	ImplInitDepth( 0, GetMinDepth(), sal_False );
-
 	GetUndoManager().Clear();
+    EnableUndo(true);
 }
 
 void Outliner::SetMaxDepth( sal_Int16 nDepth, sal_Bool bCheckParagraphs )
@@ -1229,6 +1230,12 @@ void Outliner::ImpFilterIndents( sal_uLo
 	return pEditEngine->GetUndoManager();
 }
 
+::svl::IUndoManager* Outliner::SetUndoManager(::svl::IUndoManager* pNew)
+{
+	DBG_CHKTHIS(Outliner,0);
+	return pEditEngine->SetUndoManager(pNew);
+}
+
 void Outliner::ImpTextPasted( sal_uLong nStartPara, sal_uInt16 nCount )
 {
 	DBG_CHKTHIS(Outliner,0);

Modified: incubator/ooo/branches/writer001/main/editeng/source/rtf/svxrtf.cxx
URL: http://svn.apache.org/viewvc/incubator/ooo/branches/writer001/main/editeng/source/rtf/svxrtf.cxx?rev=1374979&r1=1374978&r2=1374979&view=diff
==============================================================================
--- incubator/ooo/branches/writer001/main/editeng/source/rtf/svxrtf.cxx (original)
+++ incubator/ooo/branches/writer001/main/editeng/source/rtf/svxrtf.cxx Mon Aug 20 11:46:19 2012
@@ -29,6 +29,7 @@
 
 #include <ctype.h>
 #include <tools/datetime.hxx>
+#include <tools/diagnose_ex.h>
 #include <rtl/tencinfo.h>
 #include <svl/itemiter.hxx>
 #include <svl/whiter.hxx>
@@ -823,12 +824,14 @@ void SvxRTFParser::ClearFontTbl()
 {
 	for( sal_uInt32 nCnt = aFontTbl.Count(); nCnt; )
 		delete aFontTbl.GetObject( --nCnt );
+    aFontTbl.Clear();
 }
 
 void SvxRTFParser::ClearStyleTbl()
 {
 	for( sal_uInt32 nCnt = aStyleTbl.Count(); nCnt; )
 		delete aStyleTbl.GetObject( --nCnt );
+    aStyleTbl.Clear();
 }
 
 void SvxRTFParser::ClearAttrStack()
@@ -1348,7 +1351,8 @@ bool SvxRTFParser::UncompressableStackEn
 
 void SvxRTFItemStackType::Compress( const SvxRTFParser& rParser )
 {
-	DBG_ASSERT( pChildList, "es gibt keine ChildListe" );
+    ENSURE_OR_RETURN_VOID(pChildList, "Compress: no ChildList" );
+    ENSURE_OR_RETURN_VOID(pChildList->Count(), "Compress: ChildList empty");
 
 	sal_uInt16 n;
 	SvxRTFItemStackType* pTmp = (*pChildList)[0];

Modified: incubator/ooo/branches/writer001/main/extensions.lst
URL: http://svn.apache.org/viewvc/incubator/ooo/branches/writer001/main/extensions.lst?rev=1374979&r1=1374978&r2=1374979&view=diff
==============================================================================
--- incubator/ooo/branches/writer001/main/extensions.lst (original)
+++ incubator/ooo/branches/writer001/main/extensions.lst Mon Aug 20 11:46:19 2012
@@ -47,25 +47,13 @@
 [ language=en.* || language=de || language=it ]
     b7ce02d25eb302e5b23572cdccaea461 http://numbertext.org/tmp/dict-en.oxt
     
-# English (Canada, en_CA) dictionary
-[ language=en.* ]
-    e545415a4c813075c67ea58ea99802e5 http://sourceforge.net/projects/aoo-extensions/files/1263/1/en_CA_2_0_0.oxt/download "en_CA_2_0_0.oxt"
-
-# English (Australia, en_AU) dictionary
-[ language=en.* ]
-    68bfee769199749288c5e1aaf200a1ca http://sourceforge.net/projects/aoo-extensions/files/1232/7/dict-en-au-2008-12-15.oxt/download "dict-en-au-2008-12-15.oxt"
-
-# English (New Zealand, en_NZ) dictionary
-[ language=en.* ]
-    87123666ecce441b075c0170fa58690c http://sourceforge.net/projects/aoo-extensions/files/1665/1/dict-en-nz-2008-12-03.oxt/download "dict-en-nz-2008-12-03.oxt"
-
 # English (USA, en_US) dictionary
-[ language=en.* || language==nl || language==ru ]
+[ language==nl || language==ru ]
     e2eab80772ab1aa09716954219351a80 http://sourceforge.net/projects/aoo-extensions/files/1470/1/en_US.oxt/download "en_US.oxt"
 
 # German dictionary.
 [ language=de || language=de_DE || language=nl || language=ru ]
-    eb3d3397b8034c7fce6e0d78daf914ca http://sourceforge.net/projects/aoo-extensions/files/1075/10/dict-de_DE-frami_2011-06-03.oxt/download "dict-de_DE-frami_2011-06-03.oxt"
+    1051096689e5e3838b9340cde8c3ce37 http://sourceforge.net/projects/aoo-extensions/files/1075/12/dict-de_DE-frami_2012-06-17.oxt/download "dict-de_DE-frami_2012-06-17.oxt"
 
 # Dutch dictionary.
 [ language=nl ]
@@ -81,7 +69,7 @@
 
 # Spanish dictionary.
 [ language=es ]
-    5798f4a61b0f95db3d62eabcb80670eb http://sourceforge.net/projects/aoo-extensions/files/1657/1/es_ES.oxt/download "es_ES.oxt"
+    28776430bb77547fd70cf6db504bda63 http://sourceforge.net/projects/aoo-extensions/files/1657/2/es_ES.oxt/download "es_ES.oxt"
 
 # Danish dictionary.
 [ language=da ]
@@ -101,15 +89,15 @@
 
 # Slovenian dictionary.
 [ language=sl ]
-    33eb80b84d163e00298bc2c98ddd81cb http://sl.openoffice.org/test/pack-sl.oxt "pack-sl.oxt"
+    cfc3e4da22a3bb9f3f5fa7ae443f6407 http://sourceforge.net/projects/aoo-extensions/files/3280/5/pack-sl.oxt "pack-sl.oxt"
 
 # German (Austria) dictionary.
 [ language=de || language=de_AT || language=de_DE ]
-    76654bcb6ba11bb265111ef1fe3c6007 http://sourceforge.net/projects/aoo-extensions/files/1697/7/dict-de_AT-frami_2011-06-03.oxt/download "dict-de_AT-frami_2011-06-03.oxt"
+  149fd9465b7cac8aca393f2c57e9d562 http://sourceforge.net/projects/aoo-extensions/files/1697/9/dict-de_AT-frami_2012-06-17.oxt/download "dict-de_AT-frami_2012-06-17.oxt"
 
 # German (Switzerland) dictionary.
 [ language=de || language=de_CH || language=de_DE ]
-    7c9f63dcd9de3e4ec6ddbde160a0d793 http://sourceforge.net/projects/aoo-extensions/files/1699/7/dict-de_CH-frami_2011-06-03.oxt/download "dict-de_CH-frami_2011-06-03.oxt"
+    e9ddd3ae2a3213a7bd8b5e49198b6b6b http://sourceforge.net/projects/aoo-extensions/files/1699/9/dict-de_CH-frami_2012-06-17.oxt/download "dict-de_CH-frami_2012-06-17.oxt"
 
 # Khmer dictionary.
 [ language=km ]

Modified: incubator/ooo/branches/writer001/main/extensions/source/scanner/sane.cxx
URL: http://svn.apache.org/viewvc/incubator/ooo/branches/writer001/main/extensions/source/scanner/sane.cxx?rev=1374979&r1=1374978&r2=1374979&view=diff
==============================================================================
--- incubator/ooo/branches/writer001/main/extensions/source/scanner/sane.cxx (original)
+++ incubator/ooo/branches/writer001/main/extensions/source/scanner/sane.cxx Mon Aug 20 11:46:19 2012
@@ -984,7 +984,7 @@ String Sane::GetOptionUnitName( int n )
 	String aText;
 	SANE_Unit nUnit = mppOptions[n]->unit;
     size_t nUnitAsSize = (size_t)nUnit;
-	if( nUnitAsSize > sizeof( ppUnits )/sizeof( ppUnits[0] ) )
+    if (nUnitAsSize >= sizeof(ppUnits)/sizeof(ppUnits[0]))
 		aText = String::CreateFromAscii( "[unknown units]" );
 	else
 		aText = String( ppUnits[ nUnit ], gsl_getSystemTextEncoding() );

Modified: incubator/ooo/branches/writer001/main/extensions/source/update/check/Jobs.xcu
URL: http://svn.apache.org/viewvc/incubator/ooo/branches/writer001/main/extensions/source/update/check/Jobs.xcu?rev=1374979&r1=1374978&r2=1374979&view=diff
==============================================================================
--- incubator/ooo/branches/writer001/main/extensions/source/update/check/Jobs.xcu (original)
+++ incubator/ooo/branches/writer001/main/extensions/source/update/check/Jobs.xcu Mon Aug 20 11:46:19 2012
@@ -28,12 +28,17 @@
 			</prop>
 			<node oor:name="Arguments">
 				<prop oor:name="AutoCheckEnabled" oor:type="xs:boolean" oor:op="replace">
-					<value>false</value>
+					<value>true</value>
 				</prop>
 				<prop oor:name="LastCheck" oor:type="xs:long" oor:op="replace">
 					<value>0</value>
 				</prop>
 				<prop oor:name="CheckInterval" oor:type="xs:long" oor:op="replace">
+                    <!--
+                        Every Day   =   86400
+                        Every Week  =  604800
+                        Every Month = 2592000
+                    -->
 					<value>604800</value>
 				</prop>
 				<prop oor:name="DownloadDestination" oor:type="xs:string" oor:op="replace">

Modified: incubator/ooo/branches/writer001/main/external_deps.lst
URL: http://svn.apache.org/viewvc/incubator/ooo/branches/writer001/main/external_deps.lst?rev=1374979&r1=1374978&r2=1374979&view=diff
==============================================================================
--- incubator/ooo/branches/writer001/main/external_deps.lst (original)
+++ incubator/ooo/branches/writer001/main/external_deps.lst Mon Aug 20 11:46:19 2012
@@ -19,12 +19,18 @@
 #    name is the name under which the library tar-ball is stored.  It overrides the name of the
 #    downloaded file.
 
-# The fallback site for category-A libraries.
-SVN_TRUNK=http://svn.apache.org/repos/asf/!svn/bc/1336449/incubator/ooo/trunk/ext_sources/
+# Wherever possible the external tar-balls are loaded from their original distribution sites.
+# Where that is not possible (version is not archived any longer,
+# project does not any longer, server is temporarily not available) a
+# fallback server is used.
 
-# The fallback site for category-B libraries.
+# The primary fallback site.
 OOO_EXTRAS=http://ooo-extras.apache-extras.org.codespot.com/files/
 
+# Secondary fallback for category-A libraries.
+SVN_TRUNK=http://svn.apache.org/repos/asf/!svn/bc/1336449/incubator/ooo/trunk/ext_sources/
+
+
 ###############################################################################
 # Libraries with category A license
 #
@@ -33,228 +39,262 @@ if ( true )
     MD5 = 0168229624cfac409e766913506961a8
     name = ucpp-1.3.2.tar.gz
     URL1 = http://ucpp.googlecode.com/files/ucpp-1.3.2.tar.gz
-    URL2 = $(SVN_TRUNK)$(MD5)-$(name)
+    URL2 = $(OOO_EXTRAS)$(MD5)-$(name)
+    URL3 = $(SVN_TRUNK)$(MD5)-$(name)
 
 if ( true )
     MD5 = 067201ea8b126597670b5eff72e1f66c
     name = mythes-1.2.0.tar.gz
     URL1 = http://sourceforge.net/projects/hunspell/files/MyThes/1.2.0/mythes-1.2.0.tar.gz/download
-    URL2 = $(SVN_TRUNK)$(MD5)-$(name)
+    URL2 = $(OOO_EXTRAS)$(MD5)-$(name)
+    URL3 = $(SVN_TRUNK)$(MD5)-$(name)
 
 if (SYSTEM_LIBTEXTCAT != YES)
     MD5 = 128cfc86ed5953e57fe0f5ae98b62c2e
     name = libtextcat-2.2.tar.gz
     URL1 = http://software.wise-guys.nl/download/libtextcat-2.2.tar.gz
-    URL2 = $(SVN_TRUNK)$(MD5)-$(name)
+    URL2 = $(OOO_EXTRAS)$(MD5)-$(name)
+    URL3 = $(SVN_TRUNK)$(MD5)-$(name)
 
 if (SOLAR_JAVA == TRUE)
     MD5 = 17410483b5b5f267aa18b7e00b65e6e0
     name = hsqldb_1_8_0.zip
     URL1 = http://sourceforge.net/projects/hsqldb/files/hsqldb/hsqldb_1_8_0/hsqldb_1_8_0_10.zip/download
-    URL2 = $(SVN_TRUNK)$(MD5)-$(name)
+    URL2 = $(OOO_EXTRAS)$(MD5)-$(name)
+    URL3 = $(SVN_TRUNK)$(MD5)-$(name)
 
 if ( true )
     MD5 = 1756c4fa6c616ae15973c104cd8cb256
     name = Adobe-Core35_AFMs-314.tar.gz
-    URL1 = $(SVN_TRUNK)$(MD5)-$(name)
+    URL1 = $(OOO_EXTRAS)$(MD5)-$(name)
+    URL2 = $(SVN_TRUNK)$(MD5)-$(name)
 
 if (SOLAR_JAVA == TRUE)
     MD5 = 17960f35b2239654ba608cf1f3e256b3
     name = lucene-2.9.4-src.tar.gz
     URL1 = http://www.us.apache.org/dist/lucene/java/2.9.4/lucene-2.9.4-src.tar.gz
+    URL2 = $(OOO_EXTRAS)$(MD5)-$(name)
     # Fall back to a version in SVN from a previous revsion.
-    URL2 = http://svn.apache.org/repos/asf/!svn/bc/1337615/incubator/ooo/trunk/ext_sources/$(MD5)-$(name)
-    URL3 = $(SVN_TRUNK)$(MD5)-$(name)
+    URL3 = http://svn.apache.org/repos/asf/!svn/bc/1337615/incubator/ooo/trunk/ext_sources/$(MD5)-$(name)
  
 if (WITH_MOZILLA != NO)
     MD5 = 1f24ab1d39f4a51faf22244c94a6203f
     name = xmlsec1-1.2.14.tar.gz
     URL1 = ftp://ftp.aleksey.com/pub/xmlsec/releases/xmlsec1-1.2.14.tar.gz
-    URL2 = $(SVN_TRUNK)$(MD5)-$(name)
+    URL2 = $(OOO_EXTRAS)$(MD5)-$(name)
+    URL3 = $(SVN_TRUNK)$(MD5)-$(name)
 
 if (SYSTEM_REDLAND != YES)
     MD5 = 284e768eeda0e2898b0d5bf7e26a016e
     name = raptor-1.4.18.tar.gz
     URL1 = http://download.librdf.org/source/raptor-1.4.18.tar.gz
-    URL2 = $(SVN_TRUNK)$(MD5)-$(name)
+    URL2 = $(OOO_EXTRAS)$(MD5)-$(name)
+    URL3 = $(SVN_TRUNK)$(MD5)-$(name)
 
 if (SYSTEM_REDLAND != YES)
     MD5 = ca66e26082cab8bb817185a116db809b
     name = redland-1.0.8.tar.gz
     URL1 = http://download.librdf.org/source/redland-1.0.8.tar.gz
-    URL2 = $(SVN_TRUNK)$(MD5)-$(name)
+    URL2 = $(OOO_EXTRAS)$(MD5)-$(name)
+    URL3 = $(SVN_TRUNK)$(MD5)-$(name)
 
 if (SYSTEM_REDLAND != YES)
     MD5 = fca8706f2c4619e2fa3f8f42f8fc1e9d
     name = rasqal-0.9.16.tar.gz
     URL1 = http://download.librdf.org/source/rasqal-0.9.16.tar.gz
-    URL2 = $(SVN_TRUNK)$(MD5)-$(name)
+    URL2 = $(OOO_EXTRAS)$(MD5)-$(name)
+    URL3 = $(SVN_TRUNK)$(MD5)-$(name)
 
 if (SOLAR_JAVA==TRUE && ENABLE_MEDIAWIKI==YES)
     MD5 = 2c9b0f83ed5890af02c0df1c1776f39b
     name = commons-httpclient-3.1-src.tar.gz
     URL1 = http://archive.apache.org/dist/httpcomponents/commons-httpclient/source/commons-httpclient-3.1-src.tar.gz
-    URL2 = $(SVN_TRUNK)$(MD5)-$(name)
+    URL2 = $(OOO_EXTRAS)$(MD5)-$(name)
+    URL3 = $(SVN_TRUNK)$(MD5)-$(name)
 
 if (SOLAR_JAVA==TRUE && ENABLE_MEDIAWIKI==YES)
     MD5 = 2e482c7567908d334785ce7d69ddfff7
     name = commons-codec-1.6-src.tar.gz
     URL1 = http://apache.spinellicreations.com//commons/codec/source/commons-codec-1.6-src.tar.gz
-    URL2 = $(SVN_TRUNK)$(MD5)-$(name)
+    URL2 = $(OOO_EXTRAS)$(MD5)-$(name)
+    URL3 = $(SVN_TRUNK)$(MD5)-$(name)
 
 if ( true )
     MD5 = 2f6ecca935948f7db92d925d88d0d078
     name = icu4c-4_0_1-src.tgz
     URL1 = http://download.icu-project.org/files/icu4c/4.0.1/icu4c-4_0_1-src.tgz
-    URL2 = $(SVN_TRUNK)$(MD5)-$(name)
+    URL2 = $(OOO_EXTRAS)$(MD5)-$(name)
+    URL3 = $(SVN_TRUNK)$(MD5)-$(name)
 
 if ( true )
     SHA1 = 231af70b7567a753b49df4216743010c193884b7
     name = serf-1.1.0.tar.bz2
     URL1 = http://serf.googlecode.com/files/serf-1.1.0.tar.bz2
-    URL2 = http://svn.apache.org/repos/asf/!svn/bc/1351976/incubator/ooo/trunk/ext_sources/$(SHA1)-$(name)
+    URL2 = $(OOO_EXTRAS)$(SHA1)-$(name)
+    URL3 = http://svn.apache.org/repos/asf/!svn/bc/1351976/incubator/ooo/trunk/ext_sources/$(SHA1)-$(name)
 
 if (SOLAR_JAVA==TRUE && (ENABLE_MEDIAWIKI==YES || ENABLE_REPORTBUILDER==YES))
     MD5 = 3c219630e4302863a9a83d0efde889db
     name = commons-logging-1.1.1-src.tar.gz
     # This seems to be the original host, but the MD5 sum does not match.
-    # URL1 = http://www.alliedquotes.com/mirrors/apache//commons/logging/source/commons-logging-1.1.1-src.tar.gz
-    URL2 = $(SVN_TRUNK)$(MD5)-$(name)
+    # URL1 = http://<some-apache-mirror>/commons/logging/source/commons-logging-1.1.1-src.tar.gz
+    URL2 = $(OOO_EXTRAS)$(MD5)-$(name)
+    URL3 = $(SVN_TRUNK)$(MD5)-$(name)
 
 if (SOLAR_JAVA==TRUE && ENABLE_MEDIAWIKI==YES)
     MD5 = 625ff5f2f968dd908bca43c9469d6e6b
     name = commons-lang-2.4-src.tar.gz
     URL1 = http://archive.apache.org/dist/commons/lang/source/commons-lang-2.4-src.tar.gz
-    URL2 = $(SVN_TRUNK)$(MD5)-$(name)
+    URL2 = $(OOO_EXTRAS)$(MD5)-$(name)
+    URL3 = $(SVN_TRUNK)$(MD5)-$(name)
 
 if (SYSTEM_OPENSSL!=YES && DISABLE_OPENSSL!=TRUE)
     MD5 = 63ddc5116488985e820075e65fbe6aa4
     name = openssl-0.9.8o.tar.gz
     URL1 = http://www.openssl.org/source/openssl-0.9.8o.tar.gz
-    URL2 = $(SVN_TRUNK)$(MD5)-$(name)
+    URL2 = $(OOO_EXTRAS)$(MD5)-$(name)
+    URL3 = $(SVN_TRUNK)$(MD5)-$(name)
 
 if ( true )
     MD5 = 97262fe54dddaf583eaaee3497a426e1
     name = apr-1.4.5.tar.gz
-    URL1 = $(SVN_TRUNK)$(MD5)-$(name)
+    URL1 = $(OOO_EXTRAS)$(MD5)-$(name)
+    URL2 = $(SVN_TRUNK)$(MD5)-$(name)
 
 if ( true )
     MD5 = 666a5d56098a9debf998510e304c8095
     name = apr-util-1.4.1.tar.gz
     # Can not yet detect automatically the right mirror to use.
     # URL1 = http://<some-apache-mirror>/apr/apr-util-1.4.1.tar.gz
-    URL2 = $(SVN_TRUNK)$(MD5)-$(name)
+    URL2 = $(OOO_EXTRAS)$(MD5)-$(name)
+    URL3 = $(SVN_TRUNK)$(MD5)-$(name)
 
 if ( true )
     MD5 = c441926f3a552ed3e5b274b62e86af16
     name = STLport-4.0.tar.gz
     # This seems to be the original host, but the MD5 sum does not match.
     # URL1 = http://sourceforge.net/projects/stlport/files/STLport%20archive/STLport%204/STLport-4.0.tar.gz/download
-    URL2 = $(SVN_TRUNK)$(MD5)-$(name)
+    URL2 = $(OOO_EXTRAS)$(MD5)-$(name)
+    URL3 = $(SVN_TRUNK)$(MD5)-$(name)
 
 if ( true )
     MD5 = 18f577b374d60b3c760a3a3350407632
     name = STLport-4.5.tar.gz
     URL1 = http://sourceforge.net/projects/stlport/files/STLport%20archive/STLport%204/STLport-4.5.tar.gz/download
-    URL2 = $(SVN_TRUNK)$(MD5)-$(name)
+    URL2 = $(OOO_EXTRAS)$(MD5)-$(name)
+    URL3 = $(SVN_TRUNK)$(MD5)-$(name)
 
 if ( true )
     MD5 = 7376930b0d3f3d77a685d94c4a3acda8
     name = STLport-4.5-0119.tar.gz
-    URL1 = $(SVN_TRUNK)$(MD5)-$(name)
+    URL1 = $(OOO_EXTRAS)$(MD5)-$(name)
+    URL2 = $(SVN_TRUNK)$(MD5)-$(name)
 
 if (SYSTEM_LIBXML != YES)
     MD5 = 7740a8ec23878a2f50120e1faa2730f2
     name = libxml2-2.7.6.tar.gz
     URL1 = ftp://xmlsoft.org/libxml2/libxml2-2.7.6.tar.gz
-    URL2 = $(SVN_TRUNK)$(MD5)-$(name)
+    URL2 = $(OOO_EXTRAS)$(MD5)-$(name)
+    URL3 = $(SVN_TRUNK)$(MD5)-$(name)
 
 if (SYSTEM_LIBXSLT != YES)
     MD5 = e61d0364a30146aaa3001296f853b2b9
     name = libxslt-1.1.26.tar.gz
     URL1 = ftp://xmlsoft.org/libxml2/libxslt-1.1.26.tar.gz
-    URL2 = $(SVN_TRUNK)$(MD5)-$(name)
+    URL2 = $(OOO_EXTRAS)$(MD5)-$(name)
+    URL3 = $(SVN_TRUNK)$(MD5)-$(name)
 
 if (SOLAR_JAVA == TRUE)
     MD5 = 7e4e73c21f031d5a4c93c128baf7fd75
     name = apache-tomcat-5.5.35-src.tar.gz
     # This seems to be the original host, but the MD5 sum does not match.
-    # URL1 = http://apache.ziply.com/tomcat/tomcat-5/v5.5.35/bin/apache-tomcat-5.5.35.tar.gz
-    URL2 = $(SVN_TRUNK)$(MD5)-$(name)
+    # URL1 = http://<mirror>/tomcat/tomcat-5/v5.5.35/bin/apache-tomcat-5.5.35.tar.gz
+    URL2 = $(OOO_EXTRAS)$(MD5)-$(name)
+    URL3 = $(SVN_TRUNK)$(MD5)-$(name)
 
 if (SOLAR_JAVA == TRUE)
     MD5 = 980143f96b3f6ce45d2e4947da21a5e9
     name = stax-src-1.2.0.zip
     URL1 = http://dist.codehaus.org/stax/distributions/stax-src-1.2.0.zip
-    URL2 = $(SVN_TRUNK)$(MD5)-$(name)
+    URL2 = $(OOO_EXTRAS)$(MD5)-$(name)
+    URL3 = $(SVN_TRUNK)$(MD5)-$(name)
 
 if (SYSTEM_JPEG != YES)
     MD5 = a2c10c04f396a9ce72894beb18b4e1f9
     name = jpeg-8c.tar.gz
     URL1 = http://www.ijg.org/files/jpegsrc.v8c.tar.gz
-    URL2 = $(SVN_TRUNK)$(MD5)-$(name)
+    URL2 = $(OOO_EXTRAS)$(MD5)-$(name)
+    URL3 = $(SVN_TRUNK)$(MD5)-$(name)
 
 if (ENABLE_MEDIAWIKI == YES)
     MD5 = a7983f859eafb2677d7ff386a023bc40
     name = xsltml_2.1.2.zip
     URL1 = http://sourceforge.net/projects/xsltml/files/xsltml/v.2.1.2/xsltml_2.1.2.zip/download
-    URL2 = $(SVN_TRUNK)$(MD5)-$(name)
-
-if (SYSTEM_PYTHON != YES)
-    MD5 = bc702168a2af16869201dbe91e46ae48
-    name = LICENSE_Python-2.6.1
-    URL1 = $(SVN_TRUNK)$(MD5)-$(name)
+    URL2 = $(OOO_EXTRAS)$(MD5)-$(name)
+    URL3 = $(SVN_TRUNK)$(MD5)-$(name)
 
 if (SYSTEM_PYTHON != YES)
-    MD5 = e81c2f0953aa60f8062c05a4673f2be0
-    name = Python-2.6.1.tar.bz2
-    URL1 = $(SVN_TRUNK)$(MD5)-$(name)
+    MD5 = c57477edd6d18bd9eeca2f21add73919
+    name = Python-2.7.3.tar.bz2
+    URL1 = http://www.python.org/ftp/python/2.7.3/Python-2.7.3.tar.bz2
+    URL2 = $(OOO_EXTRAS)$(MD5)-$(name)
+    URL3 = http://svn.apache.org/repos/asf/!svn/bc/1366182/incubator/ooo/trunk/ext_sources/$(MD5)-$(name)
 
 if (GUI!=UNX || SYSTEM_ZLIB!=YES)
     MD5 = c735eab2d659a96e5a594c9e8541ad63
     name = zlib-1.2.5.tar.gz
-    URL1 = $(SVN_TRUNK)$(MD5)-$(name)
+    URL1 = $(OOO_EXTRAS)$(MD5)-$(name)
+    URL2 = $(SVN_TRUNK)$(MD5)-$(name)
 
 if ( true )
     MD5 = cf8a6967f7de535ae257fa411c98eb88
     name = mdds_0.3.0.tar.bz2
-    URL1 = $(SVN_TRUNK)$(MD5)-$(name)
+    URL1 = http://multidimalgorithm.googlecode.com/files/mdds_0.3.0.tar.bz2
+    URL2 = $(OOO_EXTRAS)$(MD5)-$(name)
+    URL3 = $(SVN_TRUNK)$(MD5)-$(name)
 
 if (SYSTEM_VIGRA != YES)
     MD5 = ea91f2fb4212a21d708aced277e6e85a
     name = vigra1.4.0.tar.gz
     URL1 = http://hci.iwr.uni-heidelberg.de/vigra/vigra1.4.0.tar.gz
-    URL2 = $(SVN_TRUNK)$(MD5)-$(name)
+    URL2 = $(OOO_EXTRAS)$(MD5)-$(name)
+    URL3 = $(SVN_TRUNK)$(MD5)-$(name)
 
 if (SYSTEM_CURL != YES)
     MD5 = ecb2e37e45c9933e2a963cabe03670ab
     name = curl-7.19.7.tar.gz
-    URL1 = $(SVN_TRUNK)$(MD5)-$(name)
+    URL1 = http://curl.haxx.se/download/curl-7.19.7.tar.gz
+    URL2 = $(OOO_EXTRAS)$(MD5)-$(name)
+    URL3 = $(SVN_TRUNK)$(MD5)-$(name)
 
 if (SYSTEM_EXPAT != YES)
     MD5 = ee8b492592568805593f81f8cdf2a04c
     name = expat-2.0.1.tar.gz
     URL1 = http://sourceforge.net/projects/expat/files/expat/2.0.1/expat-2.0.1.tar.gz/download
-    URL2 = $(SVN_TRUNK)$(MD5)-$(name)
+    URL2 = $(OOO_EXTRAS)$(MD5)-$(name)
+    URL3 = $(SVN_TRUNK)$(MD5)-$(name)
 
 if (WITH_CATA_FONTS == YES)
     MD5 = f872f4ac066433d8ff92f5e316b36ff9
     name = dejavu-fonts-ttf-2.33.zip
     URL1 = http://sourceforge.net/projects/dejavu/files/dejavu/2.33/dejavu-fonts-ttf-2.33.zip/download
-    URL2 = $(SVN_TRUNK)$(MD5)-$(name)
+    URL2 = $(OOO_EXTRAS)$(MD5)-$(name)
+    URL3 = $(SVN_TRUNK)$(MD5)-$(name)
 
 if (SYSTEM_BOOST!=YES || (OS==SOLARIS && COM!=GCC))
     MD5 = fcc6df1160753d0b8c835d17fdeeb0a7
     name = boost_1_39_0.tar.gz
     URL1 = http://sourceforge.net/projects/boost/files/boost/1.39.0/boost_1_39_0.tar.gz/download
-    URL2 = $(SVN_TRUNK)$(MD5)-$(name)
+    URL2 = $(OOO_EXTRAS)$(MD5)-$(name)
+    URL3 = $(SVN_TRUNK)$(MD5)-$(name)
 
 if ( true )
     MD5 = fdb27bfe2dbe2e7b57ae194d9bf36bab
     name = SampleICC-1.3.2.tar.gz
     # This seems to be the original host, but the MD5 sum does not match.
     # URL1 = http://sourceforge.net/projects/sampleicc/files/sampleicc/SampleICC%201.3.2/SampleICC-1.3.2.zip/download
-    URL2 = $(SVN_TRUNK)$(MD5)-$(name)
+    URL2 = $(OOO_EXTRAS)$(MD5)-$(name)
+    URL3 = $(SVN_TRUNK)$(MD5)-$(name)
 
 
 ###############################################################################
@@ -262,21 +302,11 @@ if ( true )
 #
 
 if (ENABLE_CATEGORY_B==YES)
-    MD5 = 24be19595acad0a2cae931af77a0148a
-    name = LICENSE_source-9.0.0.7-bj.html
-    URL1 = $(SVN_TRUNK)$(MD5)-$(name)
-
-if (ENABLE_CATEGORY_B==YES)
     MD5 = 2b5f1ca58d6ef30f18f1415b65bed81c
     name = CoinMP-1.6.0.tgz
     URL1 = $(OOO_EXTRAS)$(MD5)-$(name)
     URL2 = $(SVN_TRUNK)$(MD5)-$(name)
 
-if (ENABLE_CATEGORY_B==YES)
-    MD5 = 377a60170e5185eb63d3ed2fae98e621
-    name = README_silgraphite-2.3.1.txt
-    URL1 = $(SVN_TRUNK)$(MD5)-$(name)
-
 if (WITH_CATB_FONTS == YES)
     MD5 = 35efabc239af896dfb79be7ebdd6e6b9
     name = gentiumbasic-fonts-1.10.zip
@@ -285,11 +315,6 @@ if (WITH_CATB_FONTS == YES)
     URL2 = $(OOO_EXTRAS)$(MD5)-$(name)
     URL3 = $(SVN_TRUNK)$(MD5)-$(name)
 
-if (ENABLE_CATEGORY_B==YES)
-    MD5 = 48470d662650c3c074e1c3fabbc67bbd
-    name = README_source-9.0.0.7-bj.txt
-    URL1 = $(SVN_TRUNK)$(MD5)-$(name)
-
 if (ENABLE_CATEGORY_B==YES && ENABLE_HYPHEN==YES)
     MD5 = 48a9f787f43a09c0a9b7b00cd1fddbbf
     name = hyphen-2.7.1.tar.gz
@@ -304,9 +329,9 @@ if (ENABLE_CATEGORY_B==YES && WITH_CATB_
     URL2 = $(SVN_TRUNK)$(MD5)-$(name)
 
 if (ENABLE_CATEGORY_B==YES && ENABLE_HUNSPELL==YES)
-    name = hunspell-1.2.9.tar.gz
-    MD5 = 68dd2e8253d9a7930e9fd50e2d7220d0
-    URL1 = http://sourceforge.net/projects/hunspell/files/Hunspell/1.2.9/hunspell-1.2.9.tar.gz/download
+    name = hunspell-1.3.2.tar.gz
+    MD5 = 3121aaf3e13e5d88dfff13fb4a5f1ab8
+    URL1 = http://sourceforge.net/projects/hunspell/files/Hunspell/1.3.2/hunspell-1.3.2.tar.gz/download
     URL2 = $(OOO_EXTRAS)$(MD5)-$(name)
     URL3 = $(SVN_TRUNK)$(MD5)-$(name)
 
@@ -332,12 +357,30 @@ if (ENABLE_CATEGORY_B==YES && ENABLE_NSS
     URL2 = $(SVN_TRUNK)$(MD5)-$(name)
 
 if (ENABLE_CATEGORY_B==YES && SYSTEM_SAXON!=YES && DISABLE_SAXON!=YES && SOLAR_JAVA==TRUE)
+    MD5 = 24be19595acad0a2cae931af77a0148a
+    name = LICENSE_source-9.0.0.7-bj.html
+    URL1 = $(OOO_EXTRAS)$(MD5)-$(name)
+    URL2 = $(SVN_TRUNK)$(MD5)-$(name)
+
+if (ENABLE_CATEGORY_B==YES && SYSTEM_SAXON!=YES && DISABLE_SAXON!=YES && SOLAR_JAVA==TRUE)
+    MD5 = 48470d662650c3c074e1c3fabbc67bbd
+    name = README_source-9.0.0.7-bj.txt
+    URL1 = $(OOO_EXTRAS)$(MD5)-$(name)
+    URL2 = $(SVN_TRUNK)$(MD5)-$(name)
+
+if (ENABLE_CATEGORY_B==YES && SYSTEM_SAXON!=YES && DISABLE_SAXON!=YES && SOLAR_JAVA==TRUE)
     MD5 = ada24d37d8d638b3d8a9985e80bc2978
     name = source-9.0.0.7-bj.zip
     URL1 = $(OOO_EXTRAS)$(MD5)-$(name)
     URL2 = $(SVN_TRUNK)$(MD5)-$(name)
 
 if (ENABLE_CATEGORY_B==YES && SYSTEM_GRAPHITE!=YES && ENABLE_GRAPHITE==TRUE)
+    MD5 = 377a60170e5185eb63d3ed2fae98e621
+    name = README_silgraphite-2.3.1.txt
+    URL1 = $(OOO_EXTRAS)$(MD5)-$(name)
+    URL2 = $(SVN_TRUNK)$(MD5)-$(name)
+
+if (ENABLE_CATEGORY_B==YES && SYSTEM_GRAPHITE!=YES && ENABLE_GRAPHITE==TRUE)
     MD5 = d35724900f6a4105550293686688bbb3
     name = silgraphite-2.3.1.tar.gz
     URL1 = http://sourceforge.net/projects/silgraphite/files/silgraphite/2.3.1/silgraphite-2.3.1.tar.gz/download

Modified: incubator/ooo/branches/writer001/main/filter/inc/filter/msfilter/escherex.hxx
URL: http://svn.apache.org/viewvc/incubator/ooo/branches/writer001/main/filter/inc/filter/msfilter/escherex.hxx?rev=1374979&r1=1374978&r2=1374979&view=diff
==============================================================================
--- incubator/ooo/branches/writer001/main/filter/inc/filter/msfilter/escherex.hxx (original)
+++ incubator/ooo/branches/writer001/main/filter/inc/filter/msfilter/escherex.hxx Mon Aug 20 11:46:19 2012
@@ -1222,9 +1222,10 @@ class MSFILTER_DLLPUBLIC EscherPropertyC
 		static sal_uInt32 GetGradientColor( const ::com::sun::star::awt::Gradient* pGradient, sal_uInt32 nStartColor );
 
         void        CreateGradientProperties( const ::com::sun::star::awt::Gradient & rGradient );
-		void		CreateGradientProperties( const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet > & );
+		void		CreateGradientProperties( const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet > & , sal_Bool bTransparentGradient = sal_False );
 		void		CreateLineProperties( const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet > &, sal_Bool bEdge );
-		void		CreateFillProperties( const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet > &, sal_Bool bEdge );
+		void		CreateFillProperties( const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet > &, sal_Bool bEdge , sal_Bool bTransparentGradient = sal_False );
+		void		CreateFillProperties( const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet > &, sal_Bool bEdge ,  const ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShape > & rXShape );
 		void		CreateTextProperties( const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet > &, sal_uInt32 nText,
 						const sal_Bool bIsCustomShape = sal_False, const sal_Bool bIsTextFrame = sal_True );
 

Modified: incubator/ooo/branches/writer001/main/filter/inc/filter/msfilter/msdffimp.hxx
URL: http://svn.apache.org/viewvc/incubator/ooo/branches/writer001/main/filter/inc/filter/msfilter/msdffimp.hxx?rev=1374979&r1=1374978&r2=1374979&view=diff
==============================================================================
--- incubator/ooo/branches/writer001/main/filter/inc/filter/msfilter/msdffimp.hxx (original)
+++ incubator/ooo/branches/writer001/main/filter/inc/filter/msfilter/msdffimp.hxx Mon Aug 20 11:46:19 2012
@@ -80,6 +80,7 @@ class MSFILTER_DLLPUBLIC DffPropertyRead
 public:
 
 	sal_Int32					mnFix16Angle;
+	sal_Bool					mbRotateGranientFillWithAngle;
 
 	DffPropertyReader( const SvxMSDffManager& rManager );
 	~DffPropertyReader();
@@ -94,6 +95,7 @@ public:
 	void		SetDefaultPropSet( SvStream& rIn, sal_uInt32 nOffDgg ) const;
 	void		ApplyAttributes( SvStream& rIn, SfxItemSet& rSet ) const;
 	void		ApplyAttributes( SvStream& rIn, SfxItemSet& rSet, DffObjData& rObjData ) const;
+	void		ImportGradientColor( SfxItemSet& aSet, MSO_FillType eMSO_FillType, double dTrans = 1.0 , double dBackTrans = 1.0 ) const;
 };