[ooo-build-commit] Branch 'ooo/master' - 4 commits - starmath/source sw/source sw/util

Jan Holesovsky kendy at kemper.freedesktop.org
Thu Sep 17 20:12:44 PDT 2009


 starmath/source/mathmlimport.cxx   |   26 ++++-
 starmath/source/smdetect.cxx       |    2 
 sw/source/core/doc/notxtfrm.cxx    |    4 
 sw/source/filter/writer/writer.cxx |    4 
 sw/source/filter/xml/swxml.cxx     |   24 ++++
 sw/source/ui/app/appopt.cxx        |   17 ++-
 sw/source/ui/app/docshini.cxx      |    8 -
 sw/source/ui/config/fontcfg.cxx    |   31 +++---
 sw/source/ui/dialog/ascfldlg.cxx   |    8 -
 sw/source/ui/dialog/uiregionsw.cxx |  189 +++++++++++++++++++------------------
 sw/source/ui/inc/regionsw.hxx      |   18 ---
 sw/source/ui/lingu/olmenu.cxx      |    3 
 sw/source/ui/uno/swdetect.cxx      |    2 
 sw/util/makefile.mk                |    1 
 14 files changed, 202 insertions(+), 135 deletions(-)

New commits:
commit 8ea538787437969d62db36e3ae153b2d8cf25b74
Author: Ivo Hinkelmann <ihi at openoffice.org>
Date:   Thu Sep 17 17:24:45 2009 +0000

    CWS-TOOLING: integrate CWS a11y32
    2009-09-08 11:46:26 +0200 tl  r275921 : #i74816# use hi-contrast for all but for printer; namely use it for virtual devices as well
    2009-08-25 10:14:46 +0200 tl  r275337 : CWS-TOOLING: rebase CWS a11y32 to trunk at 274622 (milestone: DEV300:m54)
    2009-08-17 11:13:19 +0200 ab  r275036 : #i71360# Added attribute support for misspelled
    2009-07-24 14:28:11 +0200 tl  r274306 : #i48354# fixed hierarchy order in SvHeaderTabListBox
    2009-07-24 13:47:40 +0200 mav  r274305 : #i102870# let roadmap control behave as a monolite tabstop control
    2009-07-24 13:47:06 +0200 mav  r274304 : #i102870# let roadmap control behave as a monolite tabstop control
    2009-07-24 13:46:33 +0200 mav  r274303 : #i102870# let roadmap control behave as a monolite tabstop control
    2009-07-24 09:41:16 +0200 tl  r274289 : #i74816# fixed evaluation of high-contrast-mode
    2009-07-22 15:46:50 +0200 tl  r274246 : warning-free-code fix when build with debug=t
    2009-07-22 15:28:59 +0200 tl  r274243 : #i74816# fixed evaluation of high-contrast-mode

diff --git a/sw/source/core/doc/notxtfrm.cxx b/sw/source/core/doc/notxtfrm.cxx
index 67c6e6e..8784290 100644
--- a/sw/source/core/doc/notxtfrm.cxx
+++ b/sw/source/core/doc/notxtfrm.cxx
@@ -36,6 +36,7 @@
 #include <tools/urlobj.hxx>
 #include <vcl/print.hxx>
 #include <vcl/virdev.hxx>
+#include <vcl/svapp.hxx>
 #include <svtools/imapobj.hxx>
 #include <svtools/imap.hxx>
 #include <svtools/urihelper.hxx>
@@ -1027,8 +1028,9 @@ void SwNoTxtFrm::PaintPicture( OutputDevice* pOut, const SwRect &rGrfArea ) cons
         //TODO/LATER: is it a problem that the JopSetup isn't used?
         //xRef->DoDraw( pOut, aAlignedGrfArea.Pos(), aAlignedGrfArea.SSize(), *pJobSetup );
 
+        // get hi-contrast image, but never for printing
         Graphic* pGraphic = NULL;
-           if ( pOut && ( pOut->GetDrawMode() & DRAWMODE_SETTINGSFILL ) )
+        if (pOut && !bPrn && Application::GetSettings().GetStyleSettings().GetHighContrastMode() )
             pGraphic = pOLENd->GetHCGraphic();
 
         // when it is not possible to get HC-representation, the original image should be used
commit d995b5e1caa0722859132c9905bea918496c4f02
Author: Ivo Hinkelmann <ihi at openoffice.org>
Date:   Thu Sep 17 14:37:24 2009 +0000

    CWS-TOOLING: integrate CWS os136
    2009-09-08 08:51:21 +0200 os  r275915 : #i104757# dropdown events also for key events
    2009-09-04 13:13:14 +0200 os  r275798 : #i104757# send event before opening a drop down list
    2009-09-04 13:11:48 +0200 os  r275797 : #i104757# dynamically load sub-regions in format/sections dialog

diff --git a/sw/source/ui/dialog/uiregionsw.cxx b/sw/source/ui/dialog/uiregionsw.cxx
index 6bed5be..88e3df0 100644
--- a/sw/source/ui/dialog/uiregionsw.cxx
+++ b/sw/source/ui/dialog/uiregionsw.cxx
@@ -34,29 +34,22 @@
 #undef SW_DLLIMPLEMENTATION
 #endif
 
-#include "hintids.hxx"
-#include "regionsw.hxx"
+#include <hintids.hxx>
+#include <regionsw.hxx>
 #include <svtools/urihelper.hxx>
 #include <svtools/PasswordHelper.hxx>
 #include <vcl/svapp.hxx>
-#ifndef _MSGBOX_HXX //autogen
 #include <vcl/msgbox.hxx>
-#endif
 #include <svtools/stritem.hxx>
 #include <svtools/eitem.hxx>
-#ifndef _PASSWD_HXX //autogen
 #include <sfx2/passwd.hxx>
-#endif
 #include <sfx2/docfilt.hxx>
 #include <sfx2/request.hxx>
 #include <sfx2/docfile.hxx>
 #include <sfx2/linkmgr.hxx>
 #include <sfx2/docinsert.hxx>
 #include <sfx2/filedlghelper.hxx>
-#ifndef _SVX_SIZEITEM_HXX //autogen
-
 #include <svx/sizeitem.hxx>
-#endif
 #include <svx/htmlcfg.hxx>
 
 #include <comphelper/storagehelper.hxx>
@@ -65,15 +58,9 @@
 #include <section.hxx>
 #include <docary.hxx>
 #include <doc.hxx>						// fuers SwSectionFmt-Array
-#ifndef _BASESH_HXX
 #include <basesh.hxx>
-#endif
-#ifndef _WDOCSH_HXX
 #include <wdocsh.hxx>
-#endif
-#ifndef _VIEW_HXX
 #include <view.hxx>
-#endif
 #include <swmodule.hxx>
 #include <wrtsh.hxx>
 #include <swundo.hxx>               	// fuer Undo-Ids
@@ -82,27 +69,15 @@
 #include <swunodef.hxx>
 #include <shellio.hxx>
 
-#ifndef _HELPID_H
 #include <helpid.h>
-#endif
-#ifndef _CMDID_H
 #include <cmdid.h>
-#endif
-#ifndef _REGIONSW_HRC
 #include <regionsw.hrc>
-#endif
-#ifndef _COMCORE_HRC
 #include <comcore.hrc>
-#endif
-#ifndef _GLOBALS_HRC
 #include <globals.hrc>
-#endif
 #include <sfx2/bindings.hxx>
 #include <svx/htmlmode.hxx>
 #include <svx/dlgutil.hxx>
-#ifndef _SVX_DIALOGS_HRC
 #include <svx/dialogs.hrc>
-#endif
 #include <svx/svxdlg.hxx>
 #include <svx/flagsdef.hxx>
 
@@ -115,7 +90,65 @@ SV_IMPL_PTRARR( SwSectionFmts, SwSectionFmtPtr )
 
 SV_IMPL_OP_PTRARR_SORT( SectReprArr, SectReprPtr )
 
-static void   lcl_ReadSections( SwWrtShell& rSh, SfxMedium& rMedium, ComboBox& rBox );
+static void   lcl_ReadSections( SfxMedium& rMedium, ComboBox& rBox );
+
+void lcl_FillList( SwWrtShell& rSh, ComboBox& rSubRegions, ComboBox* pAvailNames, const SwSectionFmt* pNewFmt )
+{
+    const SwSectionFmt* pFmt;
+    if( !pNewFmt )
+    {
+        USHORT nCount = rSh.GetSectionFmtCount();
+        for(USHORT i=0;i<nCount;i++)
+        {
+            SectionType eTmpType;
+            if( !(pFmt = &rSh.GetSectionFmt(i))->GetParent() &&
+                    pFmt->IsInNodesArr() &&
+                    (eTmpType = pFmt->GetSection()->GetType()) != TOX_CONTENT_SECTION
+                    && TOX_HEADER_SECTION != eTmpType )
+            {
+                    String* pString = new String(pFmt->GetSection()->GetName());
+                    if(pAvailNames)
+                        pAvailNames->InsertEntry(*pString);
+                    rSubRegions.InsertEntry(*pString);
+                    lcl_FillList( rSh, rSubRegions, pAvailNames, pFmt );
+            }
+        }
+    }
+    else
+    {
+        SwSections aTmpArr;
+        USHORT nCnt = pNewFmt->GetChildSections(aTmpArr,SORTSECT_POS);
+        if( nCnt )
+        {
+            SectionType eTmpType;
+            for( USHORT n = 0; n < nCnt; ++n )
+                if( (pFmt = aTmpArr[n]->GetFmt())->IsInNodesArr()&&
+                    (eTmpType = pFmt->GetSection()->GetType()) != TOX_CONTENT_SECTION
+                    && TOX_HEADER_SECTION != eTmpType )
+                {
+                    String* pString = new String(pFmt->GetSection()->GetName());
+                    if(pAvailNames)
+                        pAvailNames->InsertEntry(*pString);
+                    rSubRegions.InsertEntry(*pString);
+                    lcl_FillList( rSh, rSubRegions, pAvailNames, pFmt );
+                }
+        }
+    }
+}
+
+void lcl_FillSubRegionList( SwWrtShell& rSh, ComboBox& rSubRegions, ComboBox* pAvailNames )
+{
+    lcl_FillList( rSh, rSubRegions, pAvailNames, 0 );
+    IDocumentMarkAccess* const pMarkAccess = rSh.getIDocumentMarkAccess();
+    for( IDocumentMarkAccess::const_iterator_t ppMark = pMarkAccess->getMarksBegin();
+        ppMark != pMarkAccess->getMarksEnd();
+        ppMark++)
+    {
+        const ::sw::mark::IMark* pBkmk = ppMark->get(); 
+        if( pBkmk->IsExpanded() )
+            rSubRegions.InsertEntry( pBkmk->GetName() );
+    }
+}
 
 /* -----------------25.06.99 15:38-------------------
 
@@ -275,6 +308,7 @@ SwEditRegionDlg::SwEditRegionDlg( Window* pParent, SwWrtShell& rWrtSh )
     aFilePB             ( this, SW_RES( PB_FILE ) ),
     aSubRegionFT        ( this, SW_RES( FT_SUBREG ) ) ,
     aSubRegionED        ( this, SW_RES( LB_SUBREG ) ) ,
+    bSubRegionsFilled( false ),
 
     aProtectFL          ( this, SW_RES( FL_PROTECT ) ),
     aProtectCB          ( this, SW_RES( CB_PROTECT ) ),
@@ -330,6 +364,8 @@ SwEditRegionDlg::SwEditRegionDlg( Window* pParent, SwWrtShell& rWrtSh )
     aFilePB.SetClickHdl     ( LINK( this, SwEditRegionDlg, FileSearchHdl ));
     aFileNameED.SetModifyHdl( LINK( this, SwEditRegionDlg, FileNameHdl ));
     aSubRegionED.SetModifyHdl( LINK( this, SwEditRegionDlg, FileNameHdl ));
+    aSubRegionED.AddEventListener( LINK( this, SwEditRegionDlg, SubRegionEventHdl ));
+    aSubRegionED.EnableAutocomplete( sal_True, sal_True );
 
     aTree.SetHelpId(HID_REGION_TREE);
     aTree.SetSelectionMode( MULTIPLE_SELECTION );
@@ -667,6 +703,8 @@ IMPL_LINK( SwEditRegionDlg, GetFirstEntryHdl, SvTreeListBox *, pBox )
         aDismiss.Enable();
         String aFile = pRepr->GetFile();
         String sSub = pRepr->GetSubRegion();
+        bSubRegionsFilled = false;
+        aSubRegionED.Clear();
         if(aFile.Len()||sSub.Len())
         {
             aFileCB.Check(TRUE);
@@ -1174,6 +1212,8 @@ IMPL_LINK( SwEditRegionDlg, FileNameHdl, Edit *, pEdit )
     SectReprPtr pSectRepr = (SectRepr*)pEntry->GetUserData();
     if(pEdit == &aFileNameED)
     {
+        bSubRegionsFilled = false;
+        aSubRegionED.Clear();
         if( aDDECB.IsChecked() )
         {
             String sLink( pEdit->GetText() );
@@ -1371,7 +1411,7 @@ IMPL_LINK( SwEditRegionDlg, DlgClosedHdl, sfx2::FileDialogHelper *, _pFileDlg )
             const SfxPoolItem* pItem;
             if ( SFX_ITEM_SET == pMedium->GetItemSet()->GetItemState( SID_PASSWORD, FALSE, &pItem ) )
                 sPassword = ( (SfxStringItem*)pItem )->GetValue();
-            ::lcl_ReadSections( rSh, *pMedium, aSubRegionED );
+            ::lcl_ReadSections( *pMedium, aSubRegionED );
             delete pMedium;
         }
     }
@@ -1390,6 +1430,36 @@ IMPL_LINK( SwEditRegionDlg, DlgClosedHdl, sfx2::FileDialogHelper *, _pFileDlg )
     Application::SetDefDialogParent( m_pOldDefDlgParent );
     return 0;
 }
+/*-- 03.09.2009 16:24:18---------------------------------------------------
+
+  -----------------------------------------------------------------------*/
+IMPL_LINK( SwEditRegionDlg, SubRegionEventHdl, VclWindowEvent *, pEvent )
+{
+    if( !bSubRegionsFilled && pEvent && pEvent->GetId() == VCLEVENT_DROPDOWN_PRE_OPEN )
+    {
+        //if necessary fill the names bookmarks/sections/tables now 
+        
+        rtl::OUString sFileName = aFileNameED.GetText();
+        if(sFileName.getLength())
+        {
+            SfxMedium* pMedium = rSh.GetView().GetDocShell()->GetMedium();
+            INetURLObject aAbs;
+            if( pMedium )
+                aAbs = pMedium->GetURLObject();
+            sFileName = URIHelper::SmartRel2Abs(
+                    aAbs, sFileName, URIHelper::GetMaybeFileHdl() );
+
+            //load file and set the shell
+            SfxMedium aMedium( sFileName, STREAM_STD_READ );
+            sFileName = aMedium.GetURLObject().GetMainURL( INetURLObject::NO_DECODE );
+            ::lcl_ReadSections( aMedium, aSubRegionED );
+        }    
+        else
+            lcl_FillSubRegionList( rSh, aSubRegionED, 0 );
+        bSubRegionsFilled = true;
+    }    
+    return 0;
+}
 
 /* -----------------------------08.05.2002 15:00------------------------------
 
@@ -1404,7 +1474,7 @@ Image SwEditRegionDlg::BuildBitmap(BOOL bProtect,BOOL bHidden, BOOL bHighContras
     Beschreibung:	Hilfsfunktion - Bereichsnamen aus dem Medium lesen
  --------------------------------------------------------------------*/
 
-static void lcl_ReadSections( SwWrtShell& /*rSh*/, SfxMedium& rMedium, ComboBox& rBox )
+static void lcl_ReadSections( SfxMedium& rMedium, ComboBox& rBox )
 {
     rBox.Clear();
     uno::Reference < embed::XStorage > xStg;
@@ -1604,16 +1674,7 @@ void	SwInsertSectionTabPage::SetWrtShell(SwWrtShell& rSh)
         aDDECommandFT    .Hide();
     }
 
-    FillList();
-    IDocumentMarkAccess* const pMarkAccess = m_pWrtSh->getIDocumentMarkAccess();
-    for( IDocumentMarkAccess::const_iterator_t ppMark = pMarkAccess->getMarksBegin();
-        ppMark != pMarkAccess->getMarksEnd();
-        ppMark++)
-    {
-        const ::sw::mark::IMark* pBkmk = ppMark->get(); 
-        if( pBkmk->IsExpanded() )
-            aSubRegionED.InsertEntry( pBkmk->GetName() );
-    }
+    lcl_FillSubRegionList( *m_pWrtSh, aSubRegionED, &aCurName );
 
     SwSection* pSect = ((SwInsertSectionTabDialog*)GetTabDialog())->GetSection();
     if( pSect )		// etwas vorgegeben ?
@@ -1876,7 +1937,7 @@ IMPL_LINK( SwInsertSectionTabPage, DlgClosedHdl, sfx2::FileDialogHelper *, _pFil
                 m_sFilePasswd = ( (SfxStringItem*)pItem )->GetValue();
             aFileNameED.SetText( INetURLObject::decode(
                 m_sFileName, INET_HEX_ESCAPE, INetURLObject::DECODE_UNAMBIGUOUS, RTL_TEXTENCODING_UTF8 ) );
-            ::lcl_ReadSections( *m_pWrtSh, *pMedium, aSubRegionED );
+            ::lcl_ReadSections( *pMedium, aSubRegionED );
             delete pMedium;
         }
     }
@@ -1887,52 +1948,6 @@ IMPL_LINK( SwInsertSectionTabPage, DlgClosedHdl, sfx2::FileDialogHelper *, _pFil
     return 0;
 }
 
-/*--------------------------------------------------------------------
-    Beschreibung:	Liste der verwendeten Namen fuellen
- --------------------------------------------------------------------*/
-
-void SwInsertSectionTabPage::FillList(  const SwSectionFmt* pNewFmt )
-{
-    const SwSectionFmt* pFmt;
-    if( !pNewFmt )
-    {
-        USHORT nCount = m_pWrtSh->GetSectionFmtCount();
-        for(USHORT i=0;i<nCount;i++)
-        {
-            SectionType eTmpType;
-            if( !(pFmt = &m_pWrtSh->GetSectionFmt(i))->GetParent() &&
-                    pFmt->IsInNodesArr() &&
-                    (eTmpType = pFmt->GetSection()->GetType()) != TOX_CONTENT_SECTION
-                    && TOX_HEADER_SECTION != eTmpType )
-            {
-                    String* pString = new String(pFmt->GetSection()->GetName());
-                    aCurName.InsertEntry(*pString);
-                    aSubRegionED.InsertEntry(*pString);
-                    FillList( pFmt );
-            }
-        }
-    }
-    else
-    {
-        SwSections aTmpArr;
-        USHORT nCnt = pNewFmt->GetChildSections(aTmpArr,SORTSECT_POS);
-        if( nCnt )
-        {
-            SectionType eTmpType;
-            for( USHORT n = 0; n < nCnt; ++n )
-                if( (pFmt = aTmpArr[n]->GetFmt())->IsInNodesArr()&&
-                    (eTmpType = pFmt->GetSection()->GetType()) != TOX_CONTENT_SECTION
-                    && TOX_HEADER_SECTION != eTmpType )
-                {
-                    String* pString = new String(pFmt->GetSection()->GetName());
-                    aCurName.InsertEntry(*pString);
-                    aSubRegionED.InsertEntry(*pString);
-                    FillList( pFmt );
-                }
-        }
-    }
-}
-
 // --------------------------------------------------------------
 
 // Numerierungsformat Umsetzung:
diff --git a/sw/source/ui/inc/regionsw.hxx b/sw/source/ui/inc/regionsw.hxx
index 0d9e776..a7347c0 100644
--- a/sw/source/ui/inc/regionsw.hxx
+++ b/sw/source/ui/inc/regionsw.hxx
@@ -33,35 +33,23 @@
 #include <hintids.hxx>
 #include <vcl/field.hxx>
 #include <vcl/lstbox.hxx>
-#ifndef _EDIT_HXX //autogen
 #include <vcl/edit.hxx>
-#endif
-#ifndef _BUTTON_HXX //autogen
 #include <vcl/button.hxx>
-#endif
-#ifndef _FIXED_HXX //autogen
 #include <vcl/fixed.hxx>
-#endif
-#ifndef _COMBOBOX_HXX //autogen
 #include <vcl/combobox.hxx>
-#endif
-#ifndef _GROUP_HXX //autogen
 #include <vcl/group.hxx>
-#endif
 #include <svtools/svtreebx.hxx>
 #include <sfx2/basedlgs.hxx>
 #include <sfx2/tabdlg.hxx>
 #include <svx/brshitem.hxx>
 
-#ifndef _CONDEDIT_HXX
 #include <condedit.hxx>
-#endif
 #include <section.hxx>
 #include <fmtclds.hxx>
 #include <fmtftntx.hxx>
 #include <fmtclbl.hxx>
 #include <numberingtypelistbox.hxx>
-#include "svx/frmdiritem.hxx"
+#include <svx/frmdiritem.hxx>
 #include <vcl/image.hxx>
 #include <svx/paraprev.hxx>
 #include <svx/lrspitem.hxx>
@@ -179,6 +167,7 @@ class SwEditRegionDlg : public SfxModalDialog
     PushButton      aFilePB;
     FixedText       aSubRegionFT;
     ComboBox        aSubRegionED;
+    bool            bSubRegionsFilled;
 
     FixedLine       aProtectFL;
     TriStateBox     aProtectCB;
@@ -239,6 +228,7 @@ class SwEditRegionDlg : public SfxModalDialog
     DECL_LINK( FileNameHdl, Edit* );
     DECL_LINK( DDEHdl, CheckBox* );
     DECL_LINK( DlgClosedHdl, sfx2::FileDialogHelper* );
+    DECL_LINK( SubRegionEventHdl, VclWindowEvent * );
 
     BOOL CheckPasswd(CheckBox* pBox = 0);
 
@@ -308,8 +298,6 @@ class SwInsertSectionTabPage : public SfxTabPage
     DECL_LINK( DDEHdl, CheckBox* );
     DECL_LINK( DlgClosedHdl, sfx2::FileDialogHelper* );
 
-    void 			FillList(  const SwSectionFmt* pFmt = 0 );
-
 public:
     SwInsertSectionTabPage(Window *pParent, const SfxItemSet &rAttrSet);
     virtual ~SwInsertSectionTabPage();
commit 77765a8e122b1ad2aaac1cf5a229d6b5f3247493
Author: Ivo Hinkelmann <ihi at openoffice.org>
Date:   Thu Sep 17 13:53:54 2009 +0000

    CWS-TOOLING: integrate CWS encsig09
    2009-09-14 15:11:29 +0200 oc  r276125 : #i105049# MacroSignatur needs Macro
    2009-09-09 17:09:46 +0200 jl  r276005 : #i103989# could not signe encrypted doc containing a formular object
    2009-09-09 13:11:24 +0200 jl  r275985 : #i103989# could not signe encrypted doc containing a formular object
    2009-09-08 15:54:02 +0200 mav  r275934 : #i103906# fix the automation test scenario ( tempfile should be writable for the user )
    2009-09-07 14:01:39 +0200 mav  r275895 : #i103906# fix the problem with reload
    2009-09-07 09:34:48 +0200 mav  r275871 : #i104786# do the ODF version check only for ODF documents
    2009-09-07 08:19:06 +0200 mav  r275870 : #i104389# fix text
    2009-09-06 22:24:21 +0200 mav  r275867 : #i104786# check the consistency of ODF version
    2009-09-06 22:23:24 +0200 mav  r275866 : #i104786# check the consistency of ODF version
    2009-09-06 22:23:00 +0200 mav  r275865 : #i104786# check the consistency of ODF version
    2009-09-06 22:22:36 +0200 mav  r275864 : #i104786# check the consistency of ODF version
    2009-09-06 22:22:03 +0200 mav  r275863 : #i104786# check the consistency of ODF version
    2009-09-02 17:09:30 +0200 mav  r275722 : #i104715# let repairing mechanics use the streams correctly
    2009-09-01 16:52:49 +0200 mav  r275670 : #i104389# notify user not to trust the corrupted document
    2009-09-01 16:31:37 +0200 mav  r275668 : #i104389# use vnd.sun.star.zip: protocol to access zip files
    2009-09-01 16:30:32 +0200 mav  r275667 : #i104389# use vnd.sun.star.zip: protocol to access zip files
    2009-09-01 16:22:13 +0200 jl  r275666 : #i104339# small content change
    2009-09-01 14:20:42 +0200 jl  r275660 : #i103519# remove some debug output
    2009-09-01 13:51:52 +0200 jl  r275659 : #i103519# NSS uses '\' for escaping in distinguished names
    2009-09-01 12:49:47 +0200 mav  r275655 : #i104389# use zip-mode to read from jar files
    2009-09-01 12:40:22 +0200 mav  r275653 : #i104389# use zip-mode to read from jar files
    2009-09-01 12:32:29 +0200 mav  r275652 : #i104389# use constants
    2009-08-31 21:58:00 +0200 mav  r275637 : #i10000# fix warning
    2009-08-31 21:11:17 +0200 mav  r275636 : #i104227# adding of scripting signature removes the document signature
    2009-08-31 20:55:05 +0200 mav  r275635 : #i103905# ZipStorage supports Compressed property
    2009-08-31 20:53:55 +0200 mav  r275634 : #i103905# adjust macro signature transfer to usage of ZipStorage
    2009-08-31 15:30:49 +0200 jl  r275609 : #i103989# warning is shown as long the user does not click 'OK'
    2009-08-31 14:36:10 +0200 jl  r275608 : #i103989# changed warning text when signing macro and there is a document signature. This warning is only displayed once
    2009-08-31 13:34:41 +0200 mav  r275603 : #i104452# disable macros in repaired documents
    2009-08-31 13:33:42 +0200 mav  r275602 : #i104452# disable macros in repaired documents
    2009-08-31 13:03:56 +0200 jl  r275600 : #i45212# signature dialog could not be started when using read-only documents
    2009-08-31 09:26:13 +0200 mav  r275583 : #i104578# store the additional entry as the last one to workaround parsing problem in OOo3.1 and later
    2009-08-30 20:54:25 +0200 mav  r275562 : #i10000# adopt for unix
    2009-08-30 10:56:00 +0200 mav  r275561 : CWS-TOOLING: rebase CWS encsig09 to trunk at 275331 (milestone: DEV300:m56)
    2009-08-28 16:34:00 +0200 mav  r275539 : #i104578# write necessary info in manifest.xml for ODF1.2 encrypted document
    2009-08-28 14:04:22 +0200 mav  r275533 : #104587# fix handling of readonly streams
    2009-08-28 13:58:10 +0200 mav  r275531 : #i104389# fix the broken document handling
    2009-08-28 11:40:39 +0200 mav  r275522 : #i104389# fix the signature streams check
    2009-08-27 21:48:12 +0200 mav  r275509 : #i103927# show the warning
    2009-08-27 21:47:48 +0200 mav  r275508 : #i103927# show the warning
    2009-08-27 16:45:59 +0200 jl  r275495 : #i45212# remove unused variable
    2009-08-27 16:34:00 +0200 jl  r275494 : #i103989#
    2009-08-27 13:54:28 +0200 jl  r275482 : #i103519# fixed replacement of 'S' by 'ST'
    2009-08-27 12:32:21 +0200 mav  r275472 : #i10000# fix warning
    2009-08-27 11:58:11 +0200 mav  r275467 : #i104389# handle the entry path correctly
    2009-08-26 17:18:35 +0200 jl  r275438 : #i103519# subject and issuer distinguished names were not properly displayed. The strings were obtained by system functions (Windows, NSS), which use quotes to escape the values, when they contain special characters
    2009-08-26 11:00:20 +0200 mav  r275403 : #i10000# fix warnings
    2009-08-26 08:25:45 +0200 mav  r275392 : #i10000# fix warning
    2009-08-26 08:02:22 +0200 mav  r275391 : #i10000# adopt for linux
    2009-08-26 07:40:30 +0200 mav  r275390 : #i10000# fix warning
    2009-08-26 07:35:28 +0200 mav  r275389 : #i10000# use correct include file name
    2009-08-25 15:01:41 +0200 jl  r275356 : #i103989# better check for mimetype of streams
    2009-08-25 09:07:09 +0200 mav  r275335 : CWS-TOOLING: rebase CWS encsig09 to trunk at 274622 (milestone: DEV300:m54)
    2009-08-24 18:17:02 +0200 mav  r275329 : #i103927# check the nonencrypted streams
    2009-08-24 18:14:14 +0200 mav  r275328 : #i103927# check the nonencrypted streams
    2009-08-24 17:59:34 +0200 mav  r275327 : #i103927#,#i104389# check the package consistency and nonencrypted streams
    2009-08-24 16:18:28 +0200 jl  r275323 : #i103989# added comment
    2009-08-24 13:08:47 +0200 jl  r275305 : #i45212# #i66276# only write the X509Certificate element once and allow to add remove several certificates at a time
    2009-08-21 12:57:28 +0200 ufi  r275239 : 104339
    2009-08-21 08:39:05 +0200 jl  r275213 : #i10398# comparing URIs of signed files with the 'element list'
    2009-08-20 13:39:47 +0200 jl  r275178 : #i10398# displaying 'new partially signed' status in the status bar
    2009-08-20 13:35:39 +0200 jl  r275177 : #i10398# displaying 'new partially signed' status in the status bar
    2009-08-20 13:29:06 +0200 jl  r275176 : #i10398# displaying 'new partially signed' status in the status bar
    2009-08-20 13:26:21 +0200 jl  r275175 : #i10398# displaying 'new partially signed' status in the status bar
    2009-08-20 12:05:09 +0200 ufi  r275170 : i104339
    2009-08-19 12:24:54 +0200 jl  r275146 : #i10398# displaying 'old signature' icon and status in signature dialog
    2009-08-18 15:18:48 +0200 jl  r275111 : #i103989# document signatures containing manifest.xml are now validated according to the final ODF1.2 spec
    2009-08-18 11:41:06 +0200 mav  r275087 : #i103927# detect if encrypted ODF1.2 document contains nonencrypted streams
    2009-08-18 11:35:13 +0200 mav  r275085 : #i103927# detect if encrypted ODF1.2 document contains nonencrypted streams
    2009-08-14 17:32:41 +0200 jl  r274999 : #i103989# using c14n tranformation for XML streams
    2009-08-14 15:27:43 +0200 jl  r274987 : #i103989# remove special handling for encrypted document streams in UriBindingHelper::OpenInputStream, since we use zip storage this is not necessary anymore
    2009-08-14 15:08:10 +0200 jl  r274983 : #i103989# Showing a message when adding or removing a macro signature, that the document signature will be removed
    2009-08-14 14:57:27 +0200 jl  r274982 : #i103989# accesing Sequence at invalid index
    2009-08-11 08:55:02 +0200 mav  r274846 : #i103905# let signing service know if there is already a valid document signature
    2009-08-10 11:33:37 +0200 jl  r274799 : #i103905# do not truncate the stream
    2009-08-10 10:43:47 +0200 mav  r274797 : #i103905# provide the storage version
    2009-08-07 16:58:46 +0200 jl  r274780 : #i103989#
    2009-08-07 16:56:19 +0200 jl  r274779 : #i103989# using odf version string etc.
    2009-08-07 15:20:53 +0200 mav  r274771 : #i103905# provide the storage version
    2009-08-07 15:19:12 +0200 mav  r274770 : #i103905# provide the storage version
    2009-08-07 12:41:45 +0200 mav  r274758 : #103930# do not store thumbnail in case of encrypted document
    2009-08-07 12:36:52 +0200 mav  r274757 : #i103905# provide the storage version
    2009-08-07 12:15:54 +0200 mav  r274754 : #i103760# the signed state is not lost on saving
    2009-08-07 12:06:19 +0200 mav  r274753 : #i103760# avoid warning regarding signature removal on export
    2009-08-07 12:06:01 +0200 mav  r274752 : #i103760# avoid warning regarding signature removal on export
    2009-08-06 08:47:34 +0200 mav  r274703 : #i103905# allow to transport ODF version to the signing component
    2009-08-05 21:34:42 +0200 mav  r274701 : #i103905# allow to transport ODF version to the signing component
    2009-08-05 15:48:17 +0200 mav  r274683 : #i103905# allow to transport ODF version to the signing component
    2009-08-05 14:58:12 +0200 jl  r274673 : #i103989# documentsignature now signes all streams except documentsignatures.xml, all streams are processed as binary files
    2009-08-05 12:00:32 +0200 mav  r274648 : #i103905# allow to transport ODF version to the signing component
    2009-08-04 10:57:04 +0200 jl  r274612 : #i103989# added XInitialization
    2009-07-31 10:32:27 +0200 mav  r274516 : #i103905# use zip storage to sign documents
    2009-07-30 14:01:33 +0200 mav  r274489 : #i103906# optimize the usage of temporary medium
    2009-07-30 14:00:28 +0200 mav  r274488 : #i103906# optimize the usage of temporary medium
    2009-07-30 13:59:09 +0200 mav  r274487 : #i103906# optimize the usage of temporary medium
    2009-07-30 13:50:44 +0200 mav  r274485 : #i103906# optimize the usage of temporary medium
    2009-07-30 13:49:53 +0200 mav  r274484 : #i103906# optimize the usage of temporary medium
    2009-07-30 13:49:13 +0200 mav  r274483 : #i103906# optimize the usage of temporary medium
    2009-07-30 13:47:09 +0200 mav  r274482 : #i103905#,#i103906# let the signing process use zip-storage; optimize the usage of temporary medium
    2009-07-21 09:10:31 +0200 mav  r274159 : CWS-TOOLING: rebase CWS encsig09 to trunk at 273468 (milestone: DEV300:m51)
    2009-05-05 08:39:01 +0200 mav  r271496 : #i100832# allow to sign macros only when there are any

diff --git a/starmath/source/mathmlimport.cxx b/starmath/source/mathmlimport.cxx
index bf719d6..1f7336d 100644
--- a/starmath/source/mathmlimport.cxx
+++ b/starmath/source/mathmlimport.cxx
@@ -318,13 +318,35 @@ ULONG SmXMLImportWrapper::ReadThroughComponent(
         if ( pFilter && pFilter->GetSuccess() )
             nError = 0;
     }
-    catch( xml::sax::SAXParseException& )
+    catch( xml::sax::SAXParseException& r )
     {
+        // sax parser sends wrapped exceptions,
+        // try to find the original one
+        xml::sax::SAXException aSaxEx = *(xml::sax::SAXException*)(&r);
+        sal_Bool bTryChild = sal_True;
+
+        while( bTryChild )
+        {
+            xml::sax::SAXException aTmp;
+            if ( aSaxEx.WrappedException >>= aTmp )
+                aSaxEx = aTmp;
+            else
+                bTryChild = sal_False;
+        }
+
+        packages::zip::ZipIOException aBrokenPackage;
+        if ( aSaxEx.WrappedException >>= aBrokenPackage )
+            return ERRCODE_IO_BROKENPACKAGE;
+        
         if ( bEncrypted )
             nError = ERRCODE_SFX_WRONGPASSWORD;
     }
-    catch( xml::sax::SAXException& )
+    catch( xml::sax::SAXException& r )
     {
+        packages::zip::ZipIOException aBrokenPackage;
+        if ( r.WrappedException >>= aBrokenPackage )
+            return ERRCODE_IO_BROKENPACKAGE;
+ 
         if ( bEncrypted )
             nError = ERRCODE_SFX_WRONGPASSWORD;
     }
diff --git a/starmath/source/smdetect.cxx b/starmath/source/smdetect.cxx
index df2182f..8898721 100644
--- a/starmath/source/smdetect.cxx
+++ b/starmath/source/smdetect.cxx
@@ -220,7 +220,7 @@ SmFilterDetect::~SmFilterDetect()
             if ( bIsStorage )
             {
                 //TODO/LATER: factor this out!
-                uno::Reference < embed::XStorage > xStorage = aMedium.GetStorage();
+                uno::Reference < embed::XStorage > xStorage = aMedium.GetStorage( sal_False );
                 if ( aMedium.GetLastStorageCreationState() != ERRCODE_NONE )
                 {
                     // error during storage creation means _here_ that the medium
diff --git a/sw/source/filter/writer/writer.cxx b/sw/source/filter/writer/writer.cxx
index 725f509..e0a2067 100644
--- a/sw/source/filter/writer/writer.cxx
+++ b/sw/source/filter/writer/writer.cxx
@@ -340,10 +340,6 @@ ULONG Writer::Write( SwPaM& rPam, SfxMedium& rMed, const String* pFileName )
     // This method must be overloaded in SwXMLWriter a storage from medium will be used there.
     // The microsoft format can write to storage but the storage will be based on the stream.
     return Write( rPam, *rMed.GetOutStream(), pFileName );
-
-    // return IsStgWriter()
-    //            ? Write( rPam, rMed.GetStorage(), pFileName )
-    //			: Write( rPam, *rMed.GetOutStream(), pFileName );
 }
 
 ULONG Writer::Write( SwPaM& /*rPam*/, SvStorage&, const String* )
diff --git a/sw/source/filter/xml/swxml.cxx b/sw/source/filter/xml/swxml.cxx
index 93c09c2..db83d59 100644
--- a/sw/source/filter/xml/swxml.cxx
+++ b/sw/source/filter/xml/swxml.cxx
@@ -216,6 +216,24 @@ sal_Int32 ReadThroughComponent(
     }
     catch( xml::sax::SAXParseException& r )
     {
+        // sax parser sends wrapped exceptions,
+        // try to find the original one
+        xml::sax::SAXException aSaxEx = *(xml::sax::SAXException*)(&r);
+        sal_Bool bTryChild = sal_True;
+
+        while( bTryChild )
+        {
+            xml::sax::SAXException aTmp;
+            if ( aSaxEx.WrappedException >>= aTmp )
+                aSaxEx = aTmp;
+            else
+                bTryChild = sal_False;
+        }
+
+        packages::zip::ZipIOException aBrokenPackage;
+        if ( aSaxEx.WrappedException >>= aBrokenPackage )
+            return ERRCODE_IO_BROKENPACKAGE;
+
         if( bEncrypted )
             return ERRCODE_SFX_WRONGPASSWORD;
 
@@ -246,7 +264,10 @@ sal_Int32 ReadThroughComponent(
     }
     catch( xml::sax::SAXException& r)
     {
-        (void)r;
+        packages::zip::ZipIOException aBrokenPackage;
+        if ( r.WrappedException >>= aBrokenPackage )
+            return ERRCODE_IO_BROKENPACKAGE;
+
         if( bEncrypted )
             return ERRCODE_SFX_WRONGPASSWORD;
 
@@ -255,6 +276,7 @@ sal_Int32 ReadThroughComponent(
         aError += ByteString( String( r.Message), RTL_TEXTENCODING_ASCII_US );
         DBG_ERROR( aError.GetBuffer() );
 #endif
+        
         return ERR_SWG_READ_ERROR;
     }
     catch( packages::zip::ZipIOException& r)
diff --git a/sw/source/ui/uno/swdetect.cxx b/sw/source/ui/uno/swdetect.cxx
index f20309a..c48834b 100644
--- a/sw/source/ui/uno/swdetect.cxx
+++ b/sw/source/ui/uno/swdetect.cxx
@@ -217,7 +217,7 @@ SwFilterDetect::~SwFilterDetect()
             BOOL bIsStorage = aMedium.IsStorage();
             if ( bIsStorage )
             {
-                uno::Reference< embed::XStorage > xStorage = aMedium.GetStorage();
+                uno::Reference< embed::XStorage > xStorage = aMedium.GetStorage( sal_False );
                 if ( aMedium.GetLastStorageCreationState() != ERRCODE_NONE )
                 {
                     // error during storage creation means _here_ that the medium
commit 0e5559345299490b556a2083073e1908b0ce223b
Author: Ivo Hinkelmann <ihi at openoffice.org>
Date:   Thu Sep 17 11:26:03 2009 +0000

    CWS-TOOLING: integrate CWS defaultdoclang
    2009-08-21 14:44:21 +0200 cmc  r275260 : CWS-TOOLING: rebase CWS defaultdoclang to trunk at 275001 (milestone: DEV300:m55)
    2009-08-10 17:43:32 +0200 cmc  r274833 : CWS-TOOLING: rebase CWS defaultdoclang to trunk at 274622 (milestone: DEV300:m54)
    2009-07-24 11:46:58 +0200 cmc  r274297 : CWS-TOOLING: rebase CWS defaultdoclang to trunk at 274203 (milestone: DEV300:m53)
    2009-07-10 12:22:16 +0200 cmc  r273884 : #i99577# tweak the widths a bit
    2009-07-08 15:17:58 +0200 cmc  r273834 : #i99577 tidy up indentation
    2009-07-04 16:09:18 +0200 cmc  r273721 : #i99577# a "default" document language that reflects what the locale language is

diff --git a/sw/source/ui/app/appopt.cxx b/sw/source/ui/app/appopt.cxx
index 16a6440..26dbff2 100644
--- a/sw/source/ui/app/appopt.cxx
+++ b/sw/source/ui/app/appopt.cxx
@@ -35,6 +35,8 @@
 #include <cmdid.h>		  	// Funktion-Ids
 #endif
 
+#include <com/sun/star/i18n/ScriptType.hpp>
+
 #define _SVSTDARR_STRINGSDTOR
 #include <svtools/svstdarr.hxx>
 
@@ -54,6 +56,7 @@
 #include <svx/optgrid.hxx>
 #include <svx/svxdlg.hxx>
 #include <svx/dialogs.hrc>
+#include <i18npool/mslangid.hxx>
 #include <fontcfg.hxx>
 #include <optload.hxx>
 #include <optcomp.hxx>
@@ -191,19 +194,25 @@ SfxItemSet*	 SwModule::CreateItemSet( USHORT nId )
         pRet->Put(SwPtrItem(FN_PARAM_PRINTER, pPrt));*/
 
         SvtLinguConfig aLinguCfg;
+        Locale aLocale;
+        LanguageType nLang;
+
+        using namespace ::com::sun::star::i18n::ScriptType;
 
         Any aLang = aLinguCfg.GetProperty(C2U("DefaultLocale"));
-        Locale aLocale;
         aLang >>= aLocale;
-        pRet->Put(SvxLanguageItem(SvxLocaleToLanguage( aLocale ), SID_ATTR_LANGUAGE));
+        nLang = MsLangId::resolveSystemLanguageByScriptType(MsLangId::convertLocaleToLanguage(aLocale), LATIN);
+        pRet->Put(SvxLanguageItem(nLang, SID_ATTR_LANGUAGE));
 
         aLang = aLinguCfg.GetProperty(C2U("DefaultLocale_CJK"));
         aLang >>= aLocale;
-        pRet->Put(SvxLanguageItem(SvxLocaleToLanguage( aLocale ), SID_ATTR_CHAR_CJK_LANGUAGE));
+        nLang = MsLangId::resolveSystemLanguageByScriptType(MsLangId::convertLocaleToLanguage(aLocale), ASIAN);
+        pRet->Put(SvxLanguageItem(nLang, SID_ATTR_CHAR_CJK_LANGUAGE));
 
         aLang = aLinguCfg.GetProperty(C2U("DefaultLocale_CTL"));
         aLang >>= aLocale;
-        pRet->Put(SvxLanguageItem(SvxLocaleToLanguage( aLocale ), SID_ATTR_CHAR_CTL_LANGUAGE));
+        nLang = MsLangId::resolveSystemLanguageByScriptType(MsLangId::convertLocaleToLanguage(aLocale), COMPLEX);
+        pRet->Put(SvxLanguageItem(nLang, SID_ATTR_CHAR_CTL_LANGUAGE));
     }
     if(bTextDialog)
         pRet->Put(SwPtrItem(FN_PARAM_STDFONTS, GetStdFontConfig()));
diff --git a/sw/source/ui/app/docshini.cxx b/sw/source/ui/app/docshini.cxx
index 5fde691..b2ce341 100644
--- a/sw/source/ui/app/docshini.cxx
+++ b/sw/source/ui/app/docshini.cxx
@@ -37,6 +37,7 @@
 #ifndef _SVX_DIALOGS_HRC
 #include <svx/dialogs.hrc>
 #endif
+#include <i18npool/mslangid.hxx>
 #include <sot/storinfo.hxx>
 #include <sot/storage.hxx>
 #include <svtools/zforlist.hxx>
@@ -58,6 +59,7 @@
 #endif
 #include <linguistic/lngprops.hxx>
 #include <com/sun/star/document/UpdateDocMode.hpp>
+#include <com/sun/star/i18n/ScriptType.hpp>
 #include <rtl/logfile.hxx>
 #include <sfx2/docfilt.hxx>
 #include <svx/xtable.hxx>
@@ -791,9 +793,9 @@ void SwDocShell::SubInitNew()
 
     SvtLinguConfig().GetOptions( aLinguOpt );
 
-    sal_Int16   nVal = aLinguOpt.nDefaultLanguage,
-                eCJK = aLinguOpt.nDefaultLanguage_CJK,
-                eCTL = aLinguOpt.nDefaultLanguage_CTL;
+    sal_Int16   nVal = MsLangId::resolveSystemLanguageByScriptType(aLinguOpt.nDefaultLanguage, ::com::sun::star::i18n::ScriptType::LATIN),
+                eCJK = MsLangId::resolveSystemLanguageByScriptType(aLinguOpt.nDefaultLanguage_CJK, ::com::sun::star::i18n::ScriptType::ASIAN),
+                eCTL = MsLangId::resolveSystemLanguageByScriptType(aLinguOpt.nDefaultLanguage_CTL, ::com::sun::star::i18n::ScriptType::COMPLEX);
     aDfltSet.Put( SvxLanguageItem( nVal, RES_CHRATR_LANGUAGE ) );
     aDfltSet.Put( SvxLanguageItem( eCJK, RES_CHRATR_CJK_LANGUAGE ) );
     aDfltSet.Put( SvxLanguageItem( eCTL, RES_CHRATR_CTL_LANGUAGE ) );
diff --git a/sw/source/ui/config/fontcfg.cxx b/sw/source/ui/config/fontcfg.cxx
index 8b2a6de..533a386 100644
--- a/sw/source/ui/config/fontcfg.cxx
+++ b/sw/source/ui/config/fontcfg.cxx
@@ -33,10 +33,12 @@
 
 
 #include <fontcfg.hxx>
+#include <i18npool/mslangid.hxx>
 #include <vcl/outdev.hxx>
 #include <svtools/lingucfg.hxx>
 #include <com/sun/star/uno/Any.hxx>
 #include <com/sun/star/uno/Sequence.hxx>
+#include <com/sun/star/i18n/ScriptType.hpp>
 #include <swtypes.hxx>
 
 #include <unomid.h>
@@ -116,9 +118,10 @@ SwStdFontConfig::SwStdFontConfig() :
 
     SvtLinguConfig().GetOptions( aLinguOpt );
 
-    sal_Int16   eWestern = aLinguOpt.nDefaultLanguage,
-                eCJK = aLinguOpt.nDefaultLanguage_CJK,
-                eCTL = aLinguOpt.nDefaultLanguage_CTL;
+    sal_Int16   eWestern = MsLangId::resolveSystemLanguageByScriptType(aLinguOpt.nDefaultLanguage, ::com::sun::star::i18n::ScriptType::LATIN),
+                eCJK = MsLangId::resolveSystemLanguageByScriptType(aLinguOpt.nDefaultLanguage_CJK, ::com::sun::star::i18n::ScriptType::ASIAN),
+                eCTL = MsLangId::resolveSystemLanguageByScriptType(aLinguOpt.nDefaultLanguage_CTL, ::com::sun::star::i18n::ScriptType::COMPLEX);
+
     for(sal_Int16 i = 0; i < DEF_FONT_COUNT; i++)
     {
         sDefaultFonts[i] = GetDefaultFor(i,
@@ -163,9 +166,10 @@ void	SwStdFontConfig::Commit()
 
     SvtLinguConfig().GetOptions( aLinguOpt );
 
-    sal_Int16   eWestern = aLinguOpt.nDefaultLanguage,
-                eCJK = aLinguOpt.nDefaultLanguage_CJK,
-                eCTL = aLinguOpt.nDefaultLanguage_CTL;
+    sal_Int16   eWestern = MsLangId::resolveSystemLanguageByScriptType(aLinguOpt.nDefaultLanguage, ::com::sun::star::i18n::ScriptType::LATIN),
+                eCJK = MsLangId::resolveSystemLanguageByScriptType(aLinguOpt.nDefaultLanguage_CJK, ::com::sun::star::i18n::ScriptType::ASIAN),
+                eCTL = MsLangId::resolveSystemLanguageByScriptType(aLinguOpt.nDefaultLanguage_CTL, ::com::sun::star::i18n::ScriptType::COMPLEX);
+
     for(sal_uInt16 nProp = 0;
         nProp < sal::static_int_cast< sal_uInt16, sal_Int32 >( aNames.getLength() );
             nProp++)
@@ -198,9 +202,10 @@ BOOL SwStdFontConfig::IsFontDefault(USHORT nFontType) const
 
     SvtLinguConfig().GetOptions( aLinguOpt );
 
-    sal_Int16   eWestern = aLinguOpt.nDefaultLanguage,
-                eCJK = aLinguOpt.nDefaultLanguage_CJK,
-                eCTL = aLinguOpt.nDefaultLanguage_CTL;
+    sal_Int16   eWestern = MsLangId::resolveSystemLanguageByScriptType(aLinguOpt.nDefaultLanguage, ::com::sun::star::i18n::ScriptType::LATIN),
+                eCJK = MsLangId::resolveSystemLanguageByScriptType(aLinguOpt.nDefaultLanguage_CJK, ::com::sun::star::i18n::ScriptType::ASIAN),
+                eCTL = MsLangId::resolveSystemLanguageByScriptType(aLinguOpt.nDefaultLanguage_CTL, ::com::sun::star::i18n::ScriptType::COMPLEX);
+
     String sDefFont(GetDefaultFor(FONT_STANDARD, eWestern));
     String sDefFontCJK(GetDefaultFor(FONT_STANDARD_CJK, eCJK));
     String sDefFontCTL(GetDefaultFor(FONT_STANDARD_CTL, eCTL));
@@ -320,9 +325,11 @@ void SwStdFontConfig::ChangeInt( USHORT nFontType, sal_Int32 nHeight )
     {
         SvtLinguOptions aLinguOpt;
         SvtLinguConfig().GetOptions( aLinguOpt );
-        sal_Int16   eWestern = aLinguOpt.nDefaultLanguage,
-                    eCJK = aLinguOpt.nDefaultLanguage_CJK,
-                    eCTL = aLinguOpt.nDefaultLanguage_CTL;
+
+        sal_Int16 eWestern = MsLangId::resolveSystemLanguageByScriptType(aLinguOpt.nDefaultLanguage, ::com::sun::star::i18n::ScriptType::LATIN),
+                  eCJK = MsLangId::resolveSystemLanguageByScriptType(aLinguOpt.nDefaultLanguage_CJK, ::com::sun::star::i18n::ScriptType::ASIAN),
+                  eCTL = MsLangId::resolveSystemLanguageByScriptType(aLinguOpt.nDefaultLanguage_CTL, ::com::sun::star::i18n::ScriptType::COMPLEX);
+
         // #i92090# default height value sets back to -1
         const sal_Int32 nDefaultHeight = GetDefaultHeightFor(nFontType, lcl_LanguageOfType(nFontType, eWestern, eCJK, eCTL));
         const bool bIsDefaultHeight = nHeight == nDefaultHeight;
diff --git a/sw/source/ui/dialog/ascfldlg.cxx b/sw/source/ui/dialog/ascfldlg.cxx
index 66629b5..34b0482 100644
--- a/sw/source/ui/dialog/ascfldlg.cxx
+++ b/sw/source/ui/dialog/ascfldlg.cxx
@@ -35,6 +35,8 @@
 #endif
 #include <hintids.hxx>
 #include <rtl/textenc.h>
+#include <i18npool/mslangid.hxx>
+#include <com/sun/star/i18n/ScriptType.hpp>
 #include <svtools/lingucfg.hxx>
 #include <fontcfg.hxx>
 #include <swmodule.hxx>
@@ -234,14 +236,14 @@ SwAsciiFilterDlg::SwAsciiFilterDlg( Window* pParent, SwDocShell& rDocSh,
                     switch(nAppScriptType)
                     {
                         case SCRIPTTYPE_ASIAN:
-                            aOpt.SetLanguage(aLinguOpt.nDefaultLanguage_CJK);
+                            aOpt.SetLanguage(MsLangId::resolveSystemLanguageByScriptType(aLinguOpt.nDefaultLanguage_CJK, SCRIPTTYPE_ASIAN));
                         break;
                         case SCRIPTTYPE_COMPLEX:
-                            aOpt.SetLanguage(aLinguOpt.nDefaultLanguage_CTL);
+                            aOpt.SetLanguage(MsLangId::resolveSystemLanguageByScriptType(aLinguOpt.nDefaultLanguage_CTL, SCRIPTTYPE_COMPLEX));
                         break;
                         //SCRIPTTYPE_LATIN:
                         default:
-                            aOpt.SetLanguage(aLinguOpt.nDefaultLanguage);
+                            aOpt.SetLanguage(MsLangId::resolveSystemLanguageByScriptType(aLinguOpt.nDefaultLanguage, SCRIPTTYPE_LATIN));
                     }
                 }
             }
diff --git a/sw/source/ui/lingu/olmenu.cxx b/sw/source/ui/lingu/olmenu.cxx
index 8af28e1..52540f2 100644
--- a/sw/source/ui/lingu/olmenu.cxx
+++ b/sw/source/ui/lingu/olmenu.cxx
@@ -62,6 +62,7 @@
 #include <com/sun/star/container/XNameAccess.hpp>
 #include <com/sun/star/frame/XModuleManager.hpp>
 #include <com/sun/star/lang/XMultiServiceFactory.hpp>
+#include <com/sun/star/i18n/ScriptType.hpp>
 #include <svx/dlgutil.hxx>
 #include <svtools/itemset.hxx>
 #include <svx/langitem.hxx>
@@ -168,7 +169,7 @@ LanguageType lcl_CheckLanguage(
         SvtLinguOptions aLinguOpt;
         SvtLinguConfig().GetOptions( aLinguOpt );
         // The default document language from "Tools/Options - Language Settings - Languages: Western"
-        aLangList[0] = aLinguOpt.nDefaultLanguage;
+        aLangList[0] = MsLangId::resolveSystemLanguageByScriptType(aLinguOpt.nDefaultLanguage, ::com::sun::star::i18n::ScriptType::LATIN);
         // The one from "Tools/Options - Language Settings - Languages: User interface"
         aLangList[1] = rSettings.GetUILanguage();
         // The one from "Tools/Options - Language Settings - Languages: Locale setting"
diff --git a/sw/util/makefile.mk b/sw/util/makefile.mk
index 608002a..4b3abf0 100644
--- a/sw/util/makefile.mk
+++ b/sw/util/makefile.mk
@@ -190,6 +190,7 @@ SHL3STDLIBS= \
             $(SVLLIB) \
             $(UNOTOOLSLIB) \
             $(TOOLSLIB) \
+            $(I18NISOLANGLIB) \
             $(COMPHELPERLIB) \
             $(UCBHELPERLIB)	\
             $(CPPUHELPERLIB)	\


More information about the ooo-build-commit mailing list