[Libreoffice-commits] core.git: Branch 'distro/collabora/cp-4.2' - 4 commits - basic/source editeng/source officecfg/registry svx/source

Tomofumi Yagi yagit at mknada.sakura.ne.jp
Sat Nov 22 02:35:01 PST 2014


 basic/source/runtime/methods.cxx               |    5 +-
 editeng/source/editeng/editdoc.cxx             |    2 -
 officecfg/registry/data/org/openoffice/VCL.xcu |   16 ++++----
 svx/source/table/tablecontroller.cxx           |   46 +++++++++++++++++--------
 4 files changed, 45 insertions(+), 24 deletions(-)

New commits:
commit ae09c6f74b9a18d7d1ef2c51535f327ae3e2d3d1
Author: Tomofumi Yagi <yagit at mknada.sakura.ne.jp>
Date:   Sat Nov 15 20:26:15 2014 +0900

    fdo#77971 Writer:Better font selection in Japanese locale on Mac OSX.
    
    This patch resolves the problem that Basic fonts(Asian) are Arial
    Unicode MS in Japanese locale on Mac OSX.
    Expected behavior is that Basic fonts(Asian) are Hiragino Mincho ProN
    font.
    
    LibreOffice 4.1 and later, on Mac OS X, the font family names are kept
    without suffix(e.g. w3, w6) in the system font list.
    Some font names in VCL.xcu (font family name including the weight
    as suffix) doesn't match the font name kept in the system font list.
    
    This problem reproduces at the CJK fonts environment.
    This patch resolves this problem with Japanese fonts environment only.
    
    Change-Id: Iaf3eb2225fbc6375d1911976ac40a4d8f2fa0590
    Reviewed-on: https://gerrit.libreoffice.org/12455
    Reviewed-by: Caolán McNamara <caolanm at redhat.com>
    Tested-by: Caolán McNamara <caolanm at redhat.com>

diff --git a/officecfg/registry/data/org/openoffice/VCL.xcu b/officecfg/registry/data/org/openoffice/VCL.xcu
index ec48498..457ac10 100644
--- a/officecfg/registry/data/org/openoffice/VCL.xcu
+++ b/officecfg/registry/data/org/openoffice/VCL.xcu
@@ -212,31 +212,31 @@
     </node>
     <node oor:name="ja" oor:op="replace">
       <prop oor:name="CJK_TEXT" oor:type="xs:string" oor:op="replace">
-        <value>HG 明朝L Sun;HG MinchoL Sun;HG PゴシックB Sun;HG-PGothicB Sun;HG PゴシックB;HG-PGothicB;HG Mincho Light J;MS P明朝;ヒラギノ明朝 ProN W3;ヒラギノ明朝 Pro W3;UmePlus P Gothic;TLP明朝;LX明朝;HGPMinchoL;IPA P明朝;東風明朝;Kochi Mincho;さざなみ明朝;Mincho;Serif</value>
+        <value>HG 明朝L Sun;HG MinchoL Sun;HG PゴシックB Sun;HG-PGothicB Sun;HG PゴシックB;HG-PGothicB;HG Mincho Light J;MS P明朝;ヒラギノ明朝 ProN;ヒラギノ明朝 Pro;UmePlus P Gothic;TLP明朝;LX明朝;HGPMinchoL;IPA P明朝;東風明朝;Kochi Mincho;さざなみ明朝;Mincho;Serif</value>
       </prop>
       <prop oor:name="CJK_HEADING" oor:type="xs:string" oor:op="replace">
-        <value>HG 明朝L Sun;HG 明朝L;HG Mincho Light J;MS Pゴシック;ヒラギノ角ゴ ProN W3;ヒラギノ角ゴ Pro W3;TLPゴシック;LXゴシック;HGPGothicB;IPA Pゴシック;東風ゴシック;さざなみゴシック;Gothic;MS 明朝;HG Mincho J;HG Mincho L;HG Mincho;Mincho;MS P明朝;HG Mincho Light J;MS ゴシック;HG Gothic J;HG Gothic B;HG Gothic;Gothic;MS Pゴシック;UmePlus P Gothic</value>
+        <value>HG 明朝L Sun;HG 明朝L;HG Mincho Light J;MS Pゴシック;ヒラギノ角ゴ ProN;ヒラギノ角ゴ Pro;TLPゴシック;LXゴシック;HGPGothicB;IPA Pゴシック;東風ゴシック;さざなみゴシック;Gothic;MS 明朝;HG Mincho J;HG Mincho L;HG Mincho;Mincho;MS P明朝;HG Mincho Light J;MS ゴシック;HG Gothic J;HG Gothic B;HG Gothic;Gothic;MS Pゴシック;UmePlus P Gothic</value>
       </prop>
       <prop oor:name="CJK_PRESENTATION" oor:type="xs:string" oor:op="replace">
-        <value>HG PゴシックB Sun;HG-PGothicB Sun;HG PゴシックB;ヒラギノ明朝 ProN W3;ヒラギノ明朝 Pro W3;HG-PGothicB;HG-GothicB;HG Mincho Light J;MS Pゴシック;TLPゴシック;LXゴシック;HGPGothicB;IPA Pゴシック;東風ゴシック;さざなみゴシック;MS ゴシック;MS Pゴシック;HG Gothic;HG Gothic B;UmePlus P Gothic;Gothic</value>
+        <value>HG PゴシックB Sun;HG-PGothicB Sun;HG PゴシックB;ヒラギノ明朝 ProN;ヒラギノ明朝 Pro;HG-PGothicB;HG-GothicB;HG Mincho Light J;MS Pゴシック;TLPゴシック;LXゴシック;HGPGothicB;IPA Pゴシック;東風ゴシック;さざなみゴシック;MS ゴシック;MS Pゴシック;HG Gothic;HG Gothic B;UmePlus P Gothic;Gothic</value>
       </prop>
       <prop oor:name="LATIN_PRESENTATION" oor:type="xs:string" oor:op="replace">
         <value>Andale;Arial</value>
       </prop>
       <prop oor:name="CJK_SPREADSHEET" oor:type="xs:string" oor:op="replace">
-        <value>HG PゴシックB Sun;HG-PGothicB Sun;HG PゴシックB;HG-PGothicB;MS Pゴシック;ヒラギノ角ゴ ProN W3;ヒラギノ角ゴ Pro W3;TLPゴシック;LXゴシック;ヒラギノ明朝 ProN W3;ヒラギノ明朝 Pro W3;HGPGothicB;IPA Pゴシック;東風ゴシック;さざなみゴシック;UmePlus P Gothic;Kochi Gothic;HG Gothic J;HG Gothic B;HG Gothic;Gothic</value>
+        <value>HG PゴシックB Sun;HG-PGothicB Sun;HG PゴシックB;HG-PGothicB;MS Pゴシック;ヒラギノ角ゴ ProN;ヒラギノ角ゴ Pro;TLPゴシック;LXゴシック;ヒラギノ明朝 ProN;ヒラギノ明朝 Pro;HGPGothicB;IPA Pゴシック;東風ゴシック;さざなみゴシック;UmePlus P Gothic;Kochi Gothic;HG Gothic J;HG Gothic B;HG Gothic;Gothic</value>
       </prop>
       <prop oor:name="LATIN_SPREADSHEET" oor:type="xs:string" oor:op="replace">
-        <value>HG PゴシックB Sun;HG-PGothicB Sun;HG PゴシックB;HG-PGothicB;MS Pゴシック;ヒラギノ角ゴ ProN W3;ヒラギノ角ゴ Pro W3;TLPゴシック;LXゴシック;HGPGothicB;IPA Pゴシック;東風ゴシック;MS Gothic;HG Gothic J;HG Gothic B;HG Gothic;Kochi Gothic;MS PGothic;UmePlus P Gothic;Gothic</value>
+        <value>HG PゴシックB Sun;HG-PGothicB Sun;HG PゴシックB;HG-PGothicB;MS Pゴシック;ヒラギノ角ゴ ProN;ヒラギノ角ゴ Pro;TLPゴシック;LXゴシック;HGPGothicB;IPA Pゴシック;東風ゴシック;MS Gothic;HG Gothic J;HG Gothic B;HG Gothic;Kochi Gothic;MS PGothic;UmePlus P Gothic;Gothic</value>
       </prop>
       <prop oor:name="UI_FIXED" oor:type="xs:string" oor:op="replace">
-        <value>HG ゴシックB Sun;HG-GothicB Sun;HG Mincho Light J;MS Pゴシック;Osaka;ヒラギノ角ゴ ProN W3;ヒラギノ角ゴ Pro W3;TLPゴシック;LXゴシック;HGPGothicB;IPA Pゴシック;東風ゴシック;さざなみゴシック;Kochi Gothic;UmePlus Gothic;Gothic</value>
+        <value>HG ゴシックB Sun;HG-GothicB Sun;HG Mincho Light J;MS Pゴシック;Osaka;ヒラギノ角ゴ ProN;ヒラギノ角ゴ Pro;TLPゴシック;LXゴシック;HGPGothicB;IPA Pゴシック;東風ゴシック;さざなみゴシック;Kochi Gothic;UmePlus Gothic;Gothic</value>
       </prop>
       <prop oor:name="FIXED" oor:type="xs:string" oor:op="replace">
-        <value>HG ゴシックB Sun;HG-GothicB Sun;HG ゴシックB;HG Mincho Light J;MS Pゴシック;ヒラギノ角ゴ ProN W3;ヒラギノ角ゴ Pro W3;TLPゴシック;LXゴシック;HGPGothicB;IPA Pゴシック;東風ゴシック;さざなみゴシック;Kochi Gothic;UmePlus Gothic;Gothic</value>
+        <value>HG ゴシックB Sun;HG-GothicB Sun;HG ゴシックB;HG Mincho Light J;MS Pゴシック;ヒラギノ角ゴ ProN;ヒラギノ角ゴ Pro;TLPゴシック;LXゴシック;HGPGothicB;IPA Pゴシック;東風ゴシック;さざなみゴシック;Kochi Gothic;UmePlus Gothic;Gothic</value>
       </prop>
       <prop oor:name="UI_SANS" oor:type="xs:string" oor:op="replace">
-        <value>HG PゴシックB Sun;Osaka;ヒラギノ角ゴ ProN W3;ヒラギノ角ゴ Pro W3;HG-PGothicB Sun;HG PゴシックB;HG-PGothicB;HG-GothicB;UmePlus P Gothic;HG Mincho Light J;標準;TLPゴシック;LXゴシック;HGPGothicB;IPA Pゴシック;東風ゴシック;さざなみゴシック;Kochi Gothic;Gothic;Gnu-Unifont</value>
+        <value>HG PゴシックB Sun;Osaka;ヒラギノ角ゴ ProN;ヒラギノ角ゴ Pro;HG-PGothicB Sun;HG PゴシックB;HG-PGothicB;HG-GothicB;UmePlus P Gothic;HG Mincho Light J;標準;TLPゴシック;LXゴシック;HGPGothicB;IPA Pゴシック;東風ゴシック;さざなみゴシック;Kochi Gothic;Gothic;Gnu-Unifont</value>
       </prop>
       <prop oor:name="LATIN_FIXED" oor:type="xs:string" oor:op="replace">
         <value>hgmincholightj;cumberlandamt;cumberland;couriernew;nimbusmonol;courier;lucidasanstypewriter;lucidatypewriter;monaco;monospaced</value>
commit 410f9938127ad76da613b9af84151415598f719f
Author: Caolán McNamara <caolanm at redhat.com>
Date:   Fri Nov 21 09:20:31 2014 +0000

    busted loop condition and coverity#1255390 Resource leak
    
    regression from
    
    commit 119873328acd70ca3569c21a0b1fe36277e8bf4c
    Date:   Thu Oct 21 15:34:02 2010 -0500
        convert vos/process.hxx and related API
    
    Change-Id: I36527a4f0109105b9853a79773b4c92f9bc4e902
    (cherry picked from commit ecc56da366960b642d0a7da1b4a47245243252f8)

diff --git a/basic/source/runtime/methods.cxx b/basic/source/runtime/methods.cxx
index ac4b9c4..ddf210e 100644
--- a/basic/source/runtime/methods.cxx
+++ b/basic/source/runtime/methods.cxx
@@ -3731,12 +3731,13 @@ RTLFUNC(Shell)
             osl_freeProcessHandle( pApp );
         }
 
-        for(int j = 0; i < nParamCount; i++)
+        for(int j = 0; j < nParamCount; ++j)
         {
             rtl_uString_release(pParamList[j]);
-            pParamList[j] = NULL;
         }
 
+        delete [] pParamList;
+
         if( !bSucc )
         {
             StarBASIC::Error( SbERR_FILE_NOT_FOUND );
commit 099bb5e12f166ddca8588108838deb471bffc8a6
Author: Caolán McNamara <caolanm at redhat.com>
Date:   Thu Nov 20 15:53:14 2014 +0000

    Resolves: fdo#86466 Wrong background color shown in format table in impress
    
    regression from
    
    commit 440e2031ce8cffc8dc573e359a330236f9c11dfb
        bnc#882627: Allow to edit spacing to contents even with no borders visible.
    
    which was an attempt to fix regression from
    
    commit 9e5342509b302ba1f816f21cc3ad1cb7093982e0
    Date:   Mon Jun 3 14:22:07 2013 +0200
    
        copy values from the original item set
    
        ... because SfxAbstractDialog::GetOutputItemSet() only contains the
        items that have been _changed_ in the dialog.
    
    Now format color shows the expected color, and loading the sample for
    bnc#882627 and selecting cells and changing the border distance (etc) doesn't
    cause bulleting and paragraph alignment properties to be stripped away
    
    (cherry picked from commit e91ab2104b62b689dca2c565cd81a8cb40885822)
    
    Conflicts:
    	svx/source/table/tablecontroller.cxx
    
    Conflicts:
    	svx/source/table/tablecontroller.cxx
    
    Change-Id: Id414e09faa221d151f393971654b17bbe9f46d81

diff --git a/svx/source/table/tablecontroller.cxx b/svx/source/table/tablecontroller.cxx
index a926891..cad1fdf 100644
--- a/svx/source/table/tablecontroller.cxx
+++ b/svx/source/table/tablecontroller.cxx
@@ -713,7 +713,20 @@ void SvxTableController::onSelect( sal_uInt16 nSId )
     }
 }
 
-// --------------------------------------------------------------------
+namespace
+{
+    SvxBoxItem mergeDrawinglayerTextDistancesAndSvxBoxItem(const SfxItemSet& rAttrSet)
+    {
+        // merge drawing layer text distance items into SvxBoxItem used by the dialog
+        SvxBoxItem aBoxItem( static_cast< const SvxBoxItem& >( rAttrSet.Get( SDRATTR_TABLE_BORDER ) ) );
+        aBoxItem.SetDistance( sal::static_int_cast< sal_uInt16 >( static_cast<const SdrMetricItem&>(rAttrSet.Get(SDRATTR_TEXT_LEFTDIST)).GetValue()), BOX_LINE_LEFT );
+        aBoxItem.SetDistance( sal::static_int_cast< sal_uInt16 >( static_cast<const SdrMetricItem&>(rAttrSet.Get(SDRATTR_TEXT_RIGHTDIST)).GetValue()), BOX_LINE_RIGHT );
+        aBoxItem.SetDistance( sal::static_int_cast< sal_uInt16 >( static_cast<const SdrMetricItem&>(rAttrSet.Get(SDRATTR_TEXT_UPPERDIST)).GetValue()), BOX_LINE_TOP );
+        aBoxItem.SetDistance( sal::static_int_cast< sal_uInt16 >( static_cast<const SdrMetricItem&>(rAttrSet.Get(SDRATTR_TEXT_LOWERDIST)).GetValue()), BOX_LINE_BOTTOM );
+        return aBoxItem;
+    }
+}
+
 void SvxTableController::onFormatTable( SfxRequest& rReq )
 {
     ::sdr::table::SdrTableObj* pTableObj = dynamic_cast< ::sdr::table::SdrTableObj* >( mxTableObj.get() );
@@ -727,15 +740,11 @@ void SvxTableController::onFormatTable( SfxRequest& rReq )
         SfxItemSet aNewAttr( pTableObj->GetModel()->GetItemPool() );
 
         // merge drawing layer text distance items into SvxBoxItem used by the dialog
-        SvxBoxItem aBoxItem( static_cast< const SvxBoxItem& >( aNewAttr.Get( SDRATTR_TABLE_BORDER ) ) );
-        aBoxItem.SetDistance( sal::static_int_cast< sal_uInt16 >( ((SdrTextLeftDistItem&)(aNewAttr.Get(SDRATTR_TEXT_LEFTDIST))).GetValue()), BOX_LINE_LEFT );
-        aBoxItem.SetDistance( sal::static_int_cast< sal_uInt16 >( ((SdrTextRightDistItem&)(aNewAttr.Get(SDRATTR_TEXT_RIGHTDIST))).GetValue()), BOX_LINE_RIGHT );
-        aBoxItem.SetDistance( sal::static_int_cast< sal_uInt16 >( ((SdrTextUpperDistItem&)(aNewAttr.Get(SDRATTR_TEXT_UPPERDIST))).GetValue()), BOX_LINE_TOP );
-        aBoxItem.SetDistance( sal::static_int_cast< sal_uInt16 >( ((SdrTextLowerDistItem&)(aNewAttr.Get(SDRATTR_TEXT_LOWERDIST))).GetValue()), BOX_LINE_BOTTOM );
+        SvxBoxItem aBoxItem(mergeDrawinglayerTextDistancesAndSvxBoxItem(aNewAttr));
 
         SvxBoxInfoItem aBoxInfoItem( static_cast< const SvxBoxInfoItem& >( aNewAttr.Get( SDRATTR_TABLE_BORDER_INNER ) ) );
 
-        MergeAttrFromSelectedCells(aNewAttr, sal_True);
+        MergeAttrFromSelectedCells(aNewAttr, sal_False);
         FillCommonBorderAttrFromSelectedCells( aBoxItem, aBoxInfoItem );
         aNewAttr.Put( aBoxItem );
         aNewAttr.Put( aBoxInfoItem );
@@ -745,8 +754,21 @@ void SvxTableController::onFormatTable( SfxRequest& rReq )
         // Even Cancel Button is returning positive(101) value,
         if( pDlg.get() && ( pDlg->Execute() == RET_OK ) )
         {
-            SfxItemSet aNewSet( aNewAttr );
-            aNewSet.Put( *(pDlg->GetOutputItemSet ()) );
+            SfxItemSet aNewSet( *(pDlg->GetOutputItemSet ()) );
+
+            //Only properties that were unchanged by the dialog appear in this
+            //itemset.  We had constructed these two properties from other
+            //ones, so if they were not changed, then forcible set them back to
+            //their originals in the new result set so we can decompose that
+            //unchanged state back to their input properties
+            if (aNewSet.GetItemState(SDRATTR_TABLE_BORDER, false) != SFX_ITEM_SET)
+            {
+                aNewSet.Put(aBoxItem);
+            }
+            if (aNewSet.GetItemState(SDRATTR_TABLE_BORDER_INNER, false) != SFX_ITEM_SET)
+            {
+                aNewSet.Put(aBoxInfoItem);
+            }
 
             SvxBoxItem aNewBoxItem( static_cast< const SvxBoxItem& >( aNewSet.Get( SDRATTR_TABLE_BORDER ) ) );
 
@@ -767,8 +789,6 @@ void SvxTableController::onFormatTable( SfxRequest& rReq )
     }
 }
 
-// --------------------------------------------------------------------
-
 void SvxTableController::Execute( SfxRequest& rReq )
 {
     const sal_uInt16 nSId = rReq.GetSlot();
@@ -2806,8 +2826,8 @@ void SvxTableController::FillCommonBorderAttrFromSelectedCells( SvxBoxItem& rBox
                     nCellFlags |= (nCol > aEnd.mnCol)    ? CELL_AFTER : 0;
 
                     const SfxItemSet& rSet = xCell->GetItemSet();
-                    const SvxBoxItem& rCellBoxItem = static_cast< const SvxBoxItem& >( rSet.Get(SDRATTR_TABLE_BORDER ) );
-                    lcl_MergeCommonBorderAttr( aLinesState, rCellBoxItem, nCellFlags );
+                    SvxBoxItem aCellBoxItem(mergeDrawinglayerTextDistancesAndSvxBoxItem(rSet));
+                    lcl_MergeCommonBorderAttr( aLinesState, aCellBoxItem, nCellFlags );
                 }
             }
 
commit 91511c5ac82a13fe76a781c00220d55bbfd53f73
Author: Caolán McNamara <caolanm at redhat.com>
Date:   Fri Nov 21 17:05:09 2014 +0000

    Resolves: fdo#86392 the assert seems to just want the attrs to be sorted
    
    i.e. two at the same position is ok
    
    assert added in
    
    commit 8220b70fe2dc270188751950ac6d872320db1aa2
    Date:   Sun Jul 27 00:21:50 2014 -0400
        bnc#467459 - fix editeng text search with expanded fields.
    
    Change-Id: Ifc65f3301a7d505a7d2d13e5914f53cbe263fc1f
    (cherry picked from commit e37e8f38d1f5c6bc427965dc535f1a64f0c8649c)

diff --git a/editeng/source/editeng/editdoc.cxx b/editeng/source/editeng/editdoc.cxx
index 6b5d6f1..fef5b64 100644
--- a/editeng/source/editeng/editdoc.cxx
+++ b/editeng/source/editeng/editdoc.cxx
@@ -1771,7 +1771,7 @@ void ContentNode::UnExpandPosition( sal_Int32 &rPos, bool bBiasStart )
     {
         const EditCharAttrib& rAttr = rAttrs[nAttr];
         assert (!(nAttr < rAttrs.size() - 1) ||
-                rAttrs[nAttr].GetStart() < rAttrs[nAttr + 1].GetStart());
+                rAttrs[nAttr].GetStart() <= rAttrs[nAttr + 1].GetStart());
 
         nOffset = rAttr.GetStart();
 


More information about the Libreoffice-commits mailing list