basic/source/comp/exprtree.cxx | 5 - dev/null |binary extras/source/autocorr/lang/pt/DocumentList.xml | 11 ++++ filter/source/msfilter/svdfppt.cxx | 41 ++++++++++---- icon-themes/elementary/svx/res/frmsel.png |binary icon-themes/elementary/vcl/res/checkmono.png |binary icon-themes/elementary/vcl/res/radiomono.png |binary icon-themes/galaxy/svx/res/frmsel.png |binary icon-themes/galaxy/vcl/res/checkmono.png |binary icon-themes/galaxy/vcl/res/radiomono.png |binary icon-themes/sifr/cmd/lc_editheaderandfooter.png |binary icon-themes/sifr/cmd/sc_editheaderandfooter.png |binary icon-themes/sifr/res/savemodified_small.png |binary jvmfwk/plugins/sunmajor/pluginlib/vendorbase.cxx | 6 +- sc/source/ui/cctrl/checklistmenu.cxx | 8 +- sc/source/ui/vba/vbarange.cxx | 16 +++++ svx/source/dialog/ctredlin.cxx | 4 - svx/source/dialog/frmsel.src | 2 sw/source/core/doc/docbm.cxx | 20 +++---- vcl/inc/CommonSalLayout.hxx | 2 vcl/source/gdi/CommonSalLayout.cxx | 63 ++++++++++++++++------- vcl/source/src/images.src | 4 - vcl/unx/gtk/gtksalframe.cxx | 1 vcl/unx/gtk/gtksalmenu.cxx | 11 ++-- vcl/unx/gtk3/gtk3gtkframe.cxx | 1 25 files changed, 131 insertions(+), 64 deletions(-)
New commits: commit d8b6c5ef9093347ce19e561d28530685a5ce10e1 Author: Marco A.G.Pinto <marcoagpi...@mail.telepac.pt> Date: Tue Mar 14 14:02:58 2017 +0000 [pt_PT] Added 11 new words to autocorrect. Change-Id: Id14a6da3959006a541e26e6e84d6a4eb0b070651 Reviewed-on: https://gerrit.libreoffice.org/35187 Tested-by: Jenkins <c...@libreoffice.org> Reviewed-by: Adolfo Jayme Barrientos <fit...@ubuntu.com> Tested-by: Adolfo Jayme Barrientos <fit...@ubuntu.com> (cherry picked from commit dbd0877e127de88996a13c32683b65ef9f65da17) Reviewed-on: https://gerrit.libreoffice.org/35610 (cherry picked from commit 5deeac3fb6911cbdef5b4a12cc37c5625a495d22) diff --git a/extras/source/autocorr/lang/pt/DocumentList.xml b/extras/source/autocorr/lang/pt/DocumentList.xml index c06b9dda393d..9e89c094cbb0 100644 --- a/extras/source/autocorr/lang/pt/DocumentList.xml +++ b/extras/source/autocorr/lang/pt/DocumentList.xml @@ -182,6 +182,8 @@ <block-list:block block-list:abbreviated-name="area" block-list:name="área"/> <block-list:block block-list:abbreviated-name="areas" block-list:name="áreas"/> <block-list:block block-list:abbreviated-name="arpovação" block-list:name="aprovação"/> +<block-list:block block-list:abbreviated-name="arquetipo" block-list:name="arquétipo"/> +<block-list:block block-list:abbreviated-name="arquetipos" block-list:name="arquétipos"/> <block-list:block block-list:abbreviated-name="as mos" block-list:name="as mãos"/> <block-list:block block-list:abbreviated-name="ás" block-list:name="à s"/> <block-list:block block-list:abbreviated-name="asacina" block-list:name="assassina"/> @@ -199,6 +201,7 @@ <block-list:block block-list:abbreviated-name="assacinas" block-list:name="assassinas"/> <block-list:block block-list:abbreviated-name="assacino" block-list:name="assassino"/> <block-list:block block-list:abbreviated-name="assacinos" block-list:name="assassinos"/> +<block-list:block block-list:abbreviated-name="assambarcar" block-list:name="açambarcar"/> <block-list:block block-list:abbreviated-name="assenção" block-list:name="ascensão"/> <block-list:block block-list:abbreviated-name="assesor" block-list:name="assessor"/> <block-list:block block-list:abbreviated-name="assesores" block-list:name="assessores"/> @@ -208,9 +211,13 @@ <block-list:block block-list:abbreviated-name="assin" block-list:name="assim"/> <block-list:block block-list:abbreviated-name="assougue" block-list:name="açougue"/> <block-list:block block-list:abbreviated-name="asssim" block-list:name="assim"/> +<block-list:block block-list:abbreviated-name="assúcar" block-list:name="açúcar"/> +<block-list:block block-list:abbreviated-name="assúcares" block-list:name="açúcares"/> <block-list:block block-list:abbreviated-name="assuntoi" block-list:name="assunto"/> <block-list:block block-list:abbreviated-name="asterÃstico" block-list:name="asterisco"/> <block-list:block block-list:abbreviated-name="atè" block-list:name="até"/> +<block-list:block block-list:abbreviated-name="atléctico" block-list:name="atlético"/> +<block-list:block block-list:abbreviated-name="atlécticos" block-list:name="atléticos"/> <block-list:block block-list:abbreviated-name="atráves" block-list:name="através"/> <block-list:block block-list:abbreviated-name="atrazamos" block-list:name="atrasamos"/> <block-list:block block-list:abbreviated-name="atrazar" block-list:name="atrasar"/> @@ -239,6 +246,7 @@ <block-list:block block-list:abbreviated-name="auguma" block-list:name="alguma"/> <block-list:block block-list:abbreviated-name="augumas" block-list:name="algumas"/> <block-list:block block-list:abbreviated-name="augun" block-list:name="algum"/> +<block-list:block block-list:abbreviated-name="auje" block-list:name="auge"/> <block-list:block block-list:abbreviated-name="autodromo" block-list:name="autódromo"/> <block-list:block block-list:abbreviated-name="autodromos" block-list:name="autódromos"/> <block-list:block block-list:abbreviated-name="automátcio" block-list:name="automático"/> @@ -430,6 +438,7 @@ <block-list:block block-list:abbreviated-name="concerteza" block-list:name="com certeza"/> <block-list:block block-list:abbreviated-name="congreço" block-list:name="congresso"/> <block-list:block block-list:abbreviated-name="congreso" block-list:name="congresso"/> +<block-list:block block-list:abbreviated-name="conhecessemos" block-list:name="conhecêssemos"/> <block-list:block block-list:abbreviated-name="conhecidência" block-list:name="coincidência"/> <block-list:block block-list:abbreviated-name="conhecidências" block-list:name="coincidências"/> <block-list:block block-list:abbreviated-name="conhesse" block-list:name="conhece"/> @@ -1472,6 +1481,8 @@ <block-list:block block-list:abbreviated-name="paralizo" block-list:name="paraliso"/> <block-list:block block-list:abbreviated-name="paralizou" block-list:name="paralisou"/> <block-list:block block-list:abbreviated-name="parelisia" block-list:name="paralisia"/> +<block-list:block block-list:abbreviated-name="pârametro" block-list:name="parâmetro"/> +<block-list:block block-list:abbreviated-name="pârametros" block-list:name="parâmetros"/> <block-list:block block-list:abbreviated-name="parentese" block-list:name="parêntese"/> <block-list:block block-list:abbreviated-name="parenteses" block-list:name="parênteses"/> <block-list:block block-list:abbreviated-name="paresa" block-list:name="pareça"/> commit 97fb1b67e5d07ae3be3918baa51cbaebab06c26b Author: Vitaliy Anderson <vander...@smartru.com> Date: Thu Mar 9 23:18:09 2017 -0800 tdf#106047 Fix case-insensitive search in autofilter Change-Id: I67899789b0a51a3a04c2085cbab8c0ed62903413 (cherry picked from commit b0240bf12a94e71d1e2ebe3922afc1a3de5cd933) Reviewed-on: https://gerrit.libreoffice.org/35544 Tested-by: Jenkins <c...@libreoffice.org> Reviewed-by: Mike Kaganski <mike.kagan...@collabora.com> (cherry picked from commit 7dc991097833b0dc60941b388ac60c909529e239) diff --git a/sc/source/ui/cctrl/checklistmenu.cxx b/sc/source/ui/cctrl/checklistmenu.cxx index fd56093da389..226f029c6633 100644 --- a/sc/source/ui/cctrl/checklistmenu.cxx +++ b/sc/source/ui/cctrl/checklistmenu.cxx @@ -1215,7 +1215,7 @@ IMPL_LINK_NOARG(ScCheckListMenuWindow, TriStateHdl, Button*, void) IMPL_LINK_NOARG(ScCheckListMenuWindow, EdModifyHdl, Edit&, void) { OUString aSearchText = maEdSearch->GetText(); - aSearchText = aSearchText.toAsciiLowerCase(); + aSearchText = ScGlobal::pCharClass->lowercase( aSearchText ); bool bSearchTextEmpty = aSearchText.isEmpty(); size_t n = maMembers.size(); size_t nSelCount = 0; @@ -1234,10 +1234,10 @@ IMPL_LINK_NOARG(ScCheckListMenuWindow, EdModifyHdl, Edit&, void) if ( !bSearchTextEmpty ) { if ( !bIsDate ) - bPartialMatch = ( aLabelDisp.toAsciiLowerCase().indexOf( aSearchText ) != -1 ); + bPartialMatch = ( ScGlobal::pCharClass->lowercase( aLabelDisp ).indexOf( aSearchText ) != -1 ); else if ( maMembers[i].meDatePartType == ScCheckListMember::DAY ) // Match with both numerical and text version of month - bPartialMatch = bPartialMatch || ( OUString( maMembers[i].maRealName + maMembers[i].maDateParts[1] ) - .toAsciiLowerCase().indexOf( aSearchText ) != -1 ); + bPartialMatch = bPartialMatch || ( ScGlobal::pCharClass->lowercase( OUString( maMembers[i].maRealName + maMembers[i].maDateParts[1] ) ) + .indexOf( aSearchText ) != -1 ); else continue; } commit c926e9caec0042b65817240eb451cae6da5a6da9 Author: Caolán McNamara <caol...@redhat.com> Date: Wed Jan 4 18:33:36 2017 +0000 Resolves: tdf#105463 convert bmps to png because bmps aren't seen since... commit c3043a3072465c489d3b20991b17d222771305eb Date: Mon Oct 31 13:28:26 2016 +0100 tdf#103591 icon theme name resolving, ui fixes, prioritize png - Prefer "png" over "svg" because for Tango theme we include both (cherry picked from commit a3c4f39868226151b4b01906cbcf1b6d40740a28) convert from bmp to png (cherry picked from commit 1b7d1d16e3a6826433271b3eed4a2d542585961b) Change-Id: I93755ac95c170c457b32adac07557ed48ad8beee 7fe47f47f19b93eab5d0cef0afde63e6f61c21b4 Reviewed-on: https://gerrit.libreoffice.org/35534 Tested-by: Jenkins <c...@libreoffice.org> Reviewed-by: Adolfo Jayme Barrientos <fit...@ubuntu.com> (cherry picked from commit 2fd3d2256096b6cb3565fbeeb9342c9b983a4018) diff --git a/icon-themes/elementary/sc/res/sidebar/morebutton.bmp b/icon-themes/elementary/sc/res/sidebar/morebutton.bmp deleted file mode 100644 index c665b3e866a8..000000000000 Binary files a/icon-themes/elementary/sc/res/sidebar/morebutton.bmp and /dev/null differ diff --git a/icon-themes/elementary/svx/res/frmsel.bmp b/icon-themes/elementary/svx/res/frmsel.bmp deleted file mode 100644 index fd22f2b0c6a6..000000000000 Binary files a/icon-themes/elementary/svx/res/frmsel.bmp and /dev/null differ diff --git a/icon-themes/elementary/svx/res/frmsel.png b/icon-themes/elementary/svx/res/frmsel.png new file mode 100644 index 000000000000..7f0319496c29 Binary files /dev/null and b/icon-themes/elementary/svx/res/frmsel.png differ diff --git a/icon-themes/elementary/vcl/res/checkmono.bmp b/icon-themes/elementary/vcl/res/checkmono.bmp deleted file mode 100644 index 7e0610d5e9d8..000000000000 Binary files a/icon-themes/elementary/vcl/res/checkmono.bmp and /dev/null differ diff --git a/icon-themes/elementary/vcl/res/checkmono.png b/icon-themes/elementary/vcl/res/checkmono.png new file mode 100644 index 000000000000..69c89139bf49 Binary files /dev/null and b/icon-themes/elementary/vcl/res/checkmono.png differ diff --git a/icon-themes/elementary/vcl/res/radiomono.bmp b/icon-themes/elementary/vcl/res/radiomono.bmp deleted file mode 100644 index 6c757c34bac8..000000000000 Binary files a/icon-themes/elementary/vcl/res/radiomono.bmp and /dev/null differ diff --git a/icon-themes/elementary/vcl/res/radiomono.png b/icon-themes/elementary/vcl/res/radiomono.png new file mode 100644 index 000000000000..d9e447102afd Binary files /dev/null and b/icon-themes/elementary/vcl/res/radiomono.png differ diff --git a/icon-themes/galaxy/sc/res/sidebar/morebutton.bmp b/icon-themes/galaxy/sc/res/sidebar/morebutton.bmp deleted file mode 100644 index c665b3e866a8..000000000000 Binary files a/icon-themes/galaxy/sc/res/sidebar/morebutton.bmp and /dev/null differ diff --git a/icon-themes/galaxy/svx/res/frmsel.bmp b/icon-themes/galaxy/svx/res/frmsel.bmp deleted file mode 100644 index fd22f2b0c6a6..000000000000 Binary files a/icon-themes/galaxy/svx/res/frmsel.bmp and /dev/null differ diff --git a/icon-themes/galaxy/svx/res/frmsel.png b/icon-themes/galaxy/svx/res/frmsel.png new file mode 100644 index 000000000000..7f0319496c29 Binary files /dev/null and b/icon-themes/galaxy/svx/res/frmsel.png differ diff --git a/icon-themes/galaxy/vcl/res/checkmono.bmp b/icon-themes/galaxy/vcl/res/checkmono.bmp deleted file mode 100644 index 7e0610d5e9d8..000000000000 Binary files a/icon-themes/galaxy/vcl/res/checkmono.bmp and /dev/null differ diff --git a/icon-themes/galaxy/vcl/res/checkmono.png b/icon-themes/galaxy/vcl/res/checkmono.png new file mode 100644 index 000000000000..4cabe1284025 Binary files /dev/null and b/icon-themes/galaxy/vcl/res/checkmono.png differ diff --git a/icon-themes/galaxy/vcl/res/radiomono.bmp b/icon-themes/galaxy/vcl/res/radiomono.bmp deleted file mode 100644 index 6c757c34bac8..000000000000 Binary files a/icon-themes/galaxy/vcl/res/radiomono.bmp and /dev/null differ diff --git a/icon-themes/galaxy/vcl/res/radiomono.png b/icon-themes/galaxy/vcl/res/radiomono.png new file mode 100644 index 000000000000..aba237e266d2 Binary files /dev/null and b/icon-themes/galaxy/vcl/res/radiomono.png differ diff --git a/icon-themes/hicontrast/sc/res/sidebar/morebutton.bmp b/icon-themes/hicontrast/sc/res/sidebar/morebutton.bmp deleted file mode 100644 index c665b3e866a8..000000000000 Binary files a/icon-themes/hicontrast/sc/res/sidebar/morebutton.bmp and /dev/null differ diff --git a/svx/source/dialog/frmsel.src b/svx/source/dialog/frmsel.src index 3001d3222865..5018d9283d70 100644 --- a/svx/source/dialog/frmsel.src +++ b/svx/source/dialog/frmsel.src @@ -53,7 +53,7 @@ Resource RID_SVXSTR_BORDER_CONTROL }; }; - Bitmap BMP_FRMSEL_ARROWS { File = "frmsel.bmp"; }; + Bitmap BMP_FRMSEL_ARROWS { File = "frmsel.png"; }; }; /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/vcl/source/src/images.src b/vcl/source/src/images.src index 77cfb392831a..3bc9ab52dc64 100644 --- a/vcl/source/src/images.src +++ b/vcl/source/src/images.src @@ -26,7 +26,7 @@ Bitmap (SV_RESID_BITMAP_CHECK + SV_RESID_STDOFFSET) Bitmap (SV_RESID_BITMAP_CHECK + SV_RESID_MONOOFFSET) { - File = "checkmono.bmp"; + File = "checkmono.png"; }; Bitmap (SV_RESID_BITMAP_SCROLLBMP) @@ -46,7 +46,7 @@ Bitmap (SV_RESID_BITMAP_RADIO + SV_RESID_STDOFFSET) Bitmap (SV_RESID_BITMAP_RADIO + SV_RESID_MONOOFFSET) { - File = "radiomono.bmp"; + File = "radiomono.png"; }; Bitmap SV_RESID_BITMAP_MSGBOX commit 0891ca2847931983590b39e512e3170ee34c18a3 Author: Michael Stahl <mst...@redhat.com> Date: Wed Mar 22 00:35:19 2017 +0100 jvmfwk: fix JVM detection on 64-bit Windows _WIN32 is also defined on 64-bit Windows so reorder these ifdefs. Should i be surprised that this breaks several dbaccess tests for me but all tinderboxes are green? (regression from 9143dd4ebe37b608e43d04434cf831624bf55b65) Change-Id: Id917952d3135768355af711688ff70bf6c019a6e (cherry picked from commit 2aa20cfb7a11dd8d86372af4065a5887a0b752ca) Reviewed-on: https://gerrit.libreoffice.org/35530 Reviewed-by: Samuel Mehrbrodt <samuel.mehrbr...@cib.de> Tested-by: Jenkins <c...@libreoffice.org> (cherry picked from commit c78d39066ace32e0324365bcf10882aa6e976a03) diff --git a/jvmfwk/plugins/sunmajor/pluginlib/vendorbase.cxx b/jvmfwk/plugins/sunmajor/pluginlib/vendorbase.cxx index ef9da176ebc4..27b3ddcd7422 100644 --- a/jvmfwk/plugins/sunmajor/pluginlib/vendorbase.cxx +++ b/jvmfwk/plugins/sunmajor/pluginlib/vendorbase.cxx @@ -215,10 +215,10 @@ bool VendorBase::isValidArch() const // It is not defined what the exact values are. // Oracle JRE 8 has "x86" and "amd64", the others were found at http://lopica.sourceforge.net/os.html . // There might still be missing some options; we need to extend the check once we find out. -#if defined _WIN32 - return m_sArch == "x86" || m_sArch == "i386" || m_sArch == "i686"; -#elif defined _WIN64 +#if defined _WIN64 return m_sArch == "amd64" || m_sArch == "x86_64"; +#elif defined _WIN32 + return m_sArch == "x86" || m_sArch == "i386" || m_sArch == "i686"; #else (void)this; return true; commit b92ff2106432c45c05b3078dd56540ce6920a3df Author: Kohei Yoshida <kohei.yosh...@collabora.com> Date: Thu Mar 16 18:55:42 2017 -0400 tdf#104383: prevent crash during file load. Apparently xView may be null sometimes. Change-Id: Icef81159eeaf5c9bdb0a91e036019b820952d20b (cherry picked from commit 273d7cec114ace96c5d891fdb24ddc36be3a2376) Reviewed-on: https://gerrit.libreoffice.org/35520 Reviewed-by: Markus Mohrhard <markus.mohrh...@googlemail.com> Tested-by: Jenkins <c...@libreoffice.org> (cherry picked from commit 5112b09445069015de6f82524ea9247a1d73f35e) diff --git a/sc/source/ui/vba/vbarange.cxx b/sc/source/ui/vba/vbarange.cxx index f68d5495a9d8..af3a4e6c48e1 100644 --- a/sc/source/ui/vba/vbarange.cxx +++ b/sc/source/ui/vba/vbarange.cxx @@ -4215,8 +4215,20 @@ ScVbaRange::ApplicationRange( const uno::Reference< uno::XComponentContext >& xC } } - uno::Reference< sheet::XSpreadsheetView > xView( getCurrentExcelDoc(xContext)->getCurrentController(), uno::UNO_QUERY ); - uno::Reference< table::XCellRange > xSheetRange( xView->getActiveSheet(), uno::UNO_QUERY_THROW ); + uno::Reference<table::XCellRange> xSheetRange; + + try + { + uno::Reference<sheet::XSpreadsheetView> xView( + getCurrentExcelDoc(xContext)->getCurrentController(), uno::UNO_QUERY_THROW); + + xSheetRange.set(xView->getActiveSheet(), uno::UNO_QUERY_THROW); + } + catch (const uno::Exception&) + { + return uno::Reference<excel::XRange>(); + } + ScVbaRange* pRange = new ScVbaRange( excel::getUnoSheetModuleObj( xSheetRange ), xContext, xSheetRange ); uno::Reference< excel::XRange > xVbSheetRange( pRange ); return pRange->Range( Cell1, Cell2, true ); commit 76cd0b23f0dc78a73a67a5dddbda0fa229811271 Author: Michael Stahl <mst...@redhat.com> Date: Fri Feb 3 16:48:02 2017 +0100 tdf#104447 sw: make lcl_DebugMarks output more readable, pos. at the start (cherry picked from commit f6596a35c2d9a8c365bb78e1256a2def57ee1a36) The pass-by-value is also fixed here which is a surprisingly expensive performance regression. Change-Id: If9c151faefa3d109af2df7933a275c667880fb75 Reviewed-on: https://gerrit.libreoffice.org/35492 Tested-by: Jenkins <c...@libreoffice.org> Reviewed-by: Caolán McNamara <caol...@redhat.com> Tested-by: Caolán McNamara <caol...@redhat.com> (cherry picked from commit 4c7775247fbbf38cd397fd7649bf10810f27a0b4) diff --git a/sw/source/core/doc/docbm.cxx b/sw/source/core/doc/docbm.cxx index f75dd0e2c5de..1604d7ccf35c 100644 --- a/sw/source/core/doc/docbm.cxx +++ b/sw/source/core/doc/docbm.cxx @@ -288,28 +288,28 @@ namespace [&rName] (IDocumentMarkAccess::pMark_t const& rpMark) { return rpMark->GetName() == rName; } ); } - void lcl_DebugMarks(IDocumentMarkAccess::container_t vMarks) + void lcl_DebugMarks(IDocumentMarkAccess::container_t const& rMarks) { #if OSL_DEBUG_LEVEL > 0 - SAL_INFO("sw.core", vMarks.size() << " Marks"); - for(IDocumentMarkAccess::iterator_t ppMark = vMarks.begin(); - ppMark != vMarks.end(); - ppMark++) + SAL_INFO("sw.core", rMarks.size() << " Marks"); + for (IDocumentMarkAccess::const_iterator_t ppMark = rMarks.begin(); + ppMark != rMarks.end(); + ++ppMark) { IMark* pMark = ppMark->get(); const SwPosition* const pStPos = &pMark->GetMarkStart(); const SwPosition* const pEndPos = &pMark->GetMarkEnd(); SAL_INFO("sw.core", - typeid(*pMark).name() << " " << - pMark->GetName() << " " << pStPos->nNode.GetIndex() << "," << pStPos->nContent.GetIndex() << " " << pEndPos->nNode.GetIndex() << "," << - pEndPos->nContent.GetIndex()); + pEndPos->nContent.GetIndex() << " " << + typeid(*pMark).name() << " " << + pMark->GetName()); } #endif - assert(std::is_sorted(vMarks.begin(), vMarks.end(), lcl_MarkOrderingByStart)); - (void) vMarks; + assert(std::is_sorted(rMarks.begin(), rMarks.end(), lcl_MarkOrderingByStart)); + (void) rMarks; }; } commit b3ad7676e2989992ac17691b3e111fd4050b5e0b Author: Caolán McNamara <caol...@redhat.com> Date: Thu Mar 16 09:53:19 2017 +0000 ofz#875 limit depth to max legal depth Change-Id: Icbe9339148dc4aeb31c160e976385e3bcaef75b6 (cherry picked from commit 30e2b7203963af215c9aaaec12383e0d5e1f6a7f) Reviewed-on: https://gerrit.libreoffice.org/35259 Tested-by: Jenkins <c...@libreoffice.org> Reviewed-by: Michael Stahl <mst...@redhat.com> (cherry picked from commit 3f9500481902f11349ce8fee523824abe445cc04) diff --git a/filter/source/msfilter/svdfppt.cxx b/filter/source/msfilter/svdfppt.cxx index 27b38ad536c1..f7f9c18117ee 100644 --- a/filter/source/msfilter/svdfppt.cxx +++ b/filter/source/msfilter/svdfppt.cxx @@ -5899,6 +5899,14 @@ bool PPTParagraphObj::GetAttrib( sal_uInt32 nAttr, sal_uInt32& rRetValue, TSS_Ty bool bIsHardAttribute = ( ( pParaSet->mnAttrSet & nMask ) != 0 ); + sal_uInt16 nDepth = pParaSet->mnDepth; + + if (nDepth >= nMaxPPTLevels) + { + SAL_WARN("filter.ms", "Para Style Sheet depth " << nDepth << " but " << nMaxPPTLevels - 1 << " is max possible"); + nDepth = nMaxPPTLevels - 1; + } + if ( bIsHardAttribute ) { if ( nAttr == PPT_ParaAttr_BulletColor ) @@ -5907,7 +5915,7 @@ bool PPTParagraphObj::GetAttrib( sal_uInt32 nAttr, sal_uInt32& rRetValue, TSS_Ty if ( pParaSet->mnAttrSet & ( 1 << PPT_ParaAttr_BuHardColor ) ) bHardBulletColor = pParaSet->mpArry[ PPT_ParaAttr_BuHardColor ] != 0; else - bHardBulletColor = ( mrStyleSheet.mpParaSheet[ mnInstance ]->maParaLevel[ pParaSet->mnDepth ].mnBuFlags + bHardBulletColor = ( mrStyleSheet.mpParaSheet[ mnInstance ]->maParaLevel[nDepth].mnBuFlags & ( 1 << PPT_ParaAttr_BuHardColor ) ) != 0; if ( bHardBulletColor ) rRetValue = pParaSet->mnBulletColor; @@ -5923,7 +5931,7 @@ bool PPTParagraphObj::GetAttrib( sal_uInt32 nAttr, sal_uInt32& rRetValue, TSS_Ty } else { - rRetValue = mrStyleSheet.mpCharSheet[ nDestinationInstance ]->maCharLevel[ pParaSet->mnDepth ].mnFontColor; + rRetValue = mrStyleSheet.mpCharSheet[ nDestinationInstance ]->maCharLevel[nDepth].mnFontColor; } } } @@ -5934,7 +5942,7 @@ bool PPTParagraphObj::GetAttrib( sal_uInt32 nAttr, sal_uInt32& rRetValue, TSS_Ty if ( pParaSet->mnAttrSet & ( 1 << PPT_ParaAttr_BuHardFont ) ) bHardBuFont = pParaSet->mpArry[ PPT_ParaAttr_BuHardFont ] != 0; else - bHardBuFont = ( mrStyleSheet.mpParaSheet[ mnInstance ]->maParaLevel[ pParaSet->mnDepth ].mnBuFlags + bHardBuFont = ( mrStyleSheet.mpParaSheet[ mnInstance ]->maParaLevel[nDepth].mnBuFlags & ( 1 << PPT_ParaAttr_BuHardFont ) ) != 0; if ( bHardBuFont ) rRetValue = pParaSet->mpArry[ PPT_ParaAttr_BulletFont ]; @@ -5951,7 +5959,7 @@ bool PPTParagraphObj::GetAttrib( sal_uInt32 nAttr, sal_uInt32& rRetValue, TSS_Ty } else { - rRetValue = mrStyleSheet.mpCharSheet[ nDestinationInstance ]->maCharLevel[ pParaSet->mnDepth ].mnFont; + rRetValue = mrStyleSheet.mpCharSheet[ nDestinationInstance ]->maCharLevel[nDepth].mnFont; } } } @@ -5961,14 +5969,14 @@ bool PPTParagraphObj::GetAttrib( sal_uInt32 nAttr, sal_uInt32& rRetValue, TSS_Ty } else { - const PPTParaLevel& rParaLevel = mrStyleSheet.mpParaSheet[ mnInstance ]->maParaLevel[ pParaSet->mnDepth ]; + const PPTParaLevel& rParaLevel = mrStyleSheet.mpParaSheet[ mnInstance ]->maParaLevel[nDepth]; PPTParaLevel* pParaLevel = nullptr; if ( ( nDestinationInstance == TSS_Type::Unknown ) - || ( pParaSet->mnDepth && ( ( mnInstance == TSS_Type::Subtitle ) || ( mnInstance == TSS_Type::TextInShape ) ) ) ) + || ( nDepth && ( ( mnInstance == TSS_Type::Subtitle ) || ( mnInstance == TSS_Type::TextInShape ) ) ) ) bIsHardAttribute = true; else if ( nDestinationInstance != mnInstance ) - pParaLevel = &mrStyleSheet.mpParaSheet[ nDestinationInstance ]->maParaLevel[ pParaSet->mnDepth ]; + pParaLevel = &mrStyleSheet.mpParaSheet[ nDestinationInstance ]->maParaLevel[nDepth]; switch ( nAttr ) { case PPT_ParaAttr_BulletOn : @@ -6016,7 +6024,7 @@ bool PPTParagraphObj::GetAttrib( sal_uInt32 nAttr, sal_uInt32& rRetValue, TSS_Ty } else { - rRetValue = mrStyleSheet.mpCharSheet[ mnInstance ]->maCharLevel[ pParaSet->mnDepth ].mnFont; + rRetValue = mrStyleSheet.mpCharSheet[ mnInstance ]->maCharLevel[nDepth].mnFont; bIsHardAttribute = true; } } @@ -6052,7 +6060,7 @@ bool PPTParagraphObj::GetAttrib( sal_uInt32 nAttr, sal_uInt32& rRetValue, TSS_Ty if( rPortion.mbHardHylinkOrigColor ) rRetValue = rPortion.mnHylinkOrigColor; else - rRetValue = mrStyleSheet.mpCharSheet[ mnInstance ]->maCharLevel[ pParaSet->mnDepth ].mnFontColor; + rRetValue = mrStyleSheet.mpCharSheet[ mnInstance ]->maCharLevel[nDepth].mnFontColor; bIsHardAttribute = true; } else @@ -6062,7 +6070,7 @@ bool PPTParagraphObj::GetAttrib( sal_uInt32 nAttr, sal_uInt32& rRetValue, TSS_Ty } else { - rRetValue = mrStyleSheet.mpCharSheet[ mnInstance ]->maCharLevel[ pParaSet->mnDepth ].mnFontColor; + rRetValue = mrStyleSheet.mpCharSheet[ mnInstance ]->maCharLevel[nDepth].mnFontColor; bIsHardAttribute = true; } } commit 15520e1f56ee6dee0ab45fff764b3352e819f7af Author: Pranav Kant <pran...@collabora.co.uk> Date: Mon Mar 20 20:48:40 2017 +0530 tdf#106382 - Fix incorrectly shown change tracking comments in dialog First item in the array is treated as the number of fields followed by their widths. There are only 4 such fields in case of writer, not 5. Change-Id: Iff6f21b54b73d4395d64d83f2acf1de2a19a251e Reviewed-on: https://gerrit.libreoffice.org/35484 Tested-by: Jenkins <c...@libreoffice.org> Reviewed-by: Jan Holesovsky <ke...@collabora.com> (cherry picked from commit 551e86ff278d4608a54d311f387ca57ef4732000) Reviewed-on: https://gerrit.libreoffice.org/35502 (cherry picked from commit 181cbe104b9f8f0d0812db082d68f4d5e1bc281b) diff --git a/svx/source/dialog/ctredlin.cxx b/svx/source/dialog/ctredlin.cxx index 26dd99617aeb..105aaebf3d05 100644 --- a/svx/source/dialog/ctredlin.cxx +++ b/svx/source/dialog/ctredlin.cxx @@ -431,7 +431,7 @@ void SvxTPView::dispose() void SvxTPView::InsertWriterHeader() { - const long pTabs[] = { 5, 10, 20, 70, 120, 170 }; + const long pTabs[] = { 4 /* Length of rest of the array */, 10, 20, 70, 120 }; m_pViewData->SetTabs(pTabs); OUString aStrTab('\t'); @@ -448,7 +448,7 @@ void SvxTPView::InsertWriterHeader() void SvxTPView::InsertCalcHeader() { - const long pTabs[] = { 5, 10, 65, 120, 170, 220 }; + const long pTabs[] = { 5 /* Length of rest of the array */, 10, 65, 120, 170, 220 }; m_pViewData->SetTabs(pTabs); OUString aStrTab('\t'); commit af264a481eea8bd0e70e7623ca6628408d436963 Author: Caolán McNamara <caol...@redhat.com> Date: Thu Mar 16 21:22:36 2017 +0000 ofz: use after free Change-Id: I6d3f9108b02149165b020fc9c6677880456a1ef4 Reviewed-on: https://gerrit.libreoffice.org/35299 Tested-by: Jenkins <c...@libreoffice.org> Reviewed-by: Michael Stahl <mst...@redhat.com> (cherry picked from commit 958280a0332d1f9b3e702c79df6cb9b35eeb350c) diff --git a/filter/source/msfilter/svdfppt.cxx b/filter/source/msfilter/svdfppt.cxx index 4195188fe2be..27b38ad536c1 100644 --- a/filter/source/msfilter/svdfppt.cxx +++ b/filter/source/msfilter/svdfppt.cxx @@ -2905,7 +2905,18 @@ void SdrPowerPointImport::ImportPage( SdrPage* pRet, const PptSlidePersistEntry* // obsolete here, too. pRet->getSdrPageProperties().ClearItem(); pRet->getSdrPageProperties().PutItemSet(rSlidePersist.pBObj->GetMergedItemSet()); - SdrObject::Free( rSlidePersist.pBObj ); + if (rSlidePersist.pSolverContainer) + { + for (SvxMSDffConnectorRule* pPtr : rSlidePersist.pSolverContainer->aCList) + { + // check connections to the group object + if (pPtr->pAObj == rSlidePersist.pBObj) + pPtr->pAObj = nullptr; + if (pPtr->pBObj == rSlidePersist.pBObj) + pPtr->pBObj = nullptr; + } + } + SdrObject::Free(rSlidePersist.pBObj); } } } commit aa571125a45cbd2586b2992d35a216d32b1ccf75 Author: Katarina Behrens <katarina.behr...@cib.de> Date: Fri Mar 17 15:12:32 2017 +0100 tdf#106529: Revert "tdf#80731 Closing parenthesis is now detected" This reverts commit 65e294e221e0ad1d37c6667eecb995817ace870d, which breaks several widely used Basic extensions and hundreds of anonymous macros that miss closing parenthesis here and there Change-Id: I5d27e6d4e7c8aea3f0762c41ede46e35a5a24aaa Reviewed-on: https://gerrit.libreoffice.org/35340 Tested-by: Jenkins <c...@libreoffice.org> Reviewed-by: Noel Grandin <noel.gran...@collabora.co.uk> (cherry picked from commit 660e394b893a045a077ccded263f94a1be03fcf9) diff --git a/basic/source/comp/exprtree.cxx b/basic/source/comp/exprtree.cxx index 008976f1a7d6..e7a2210ada0c 100644 --- a/basic/source/comp/exprtree.cxx +++ b/basic/source/comp/exprtree.cxx @@ -1055,11 +1055,6 @@ SbiExprListPtr SbiExprList::ParseParameters( SbiParser* pParser, bool bStandalon { if( ( pExprList->bBracket && eTok == RPAREN ) || SbiTokenizer::IsEoln( eTok ) ) { - if ( SbiTokenizer::IsEoln( eTok ) && pExprList->bBracket) - { - pParser->Error( ERRCODE_BASIC_EXPECTED, RPAREN ); - pExprList->bError = true; - } break; } pParser->Error( pExprList->bBracket ? ERRCODE_BASIC_BAD_BRACKETS : ERRCODE_BASIC_EXPECTED, COMMA ); commit 2d920ace6945357084b9179c0649548551733600 Author: Maxim Monastirsky <momonas...@gmail.com> Date: Fri Mar 10 02:42:56 2017 +0200 Keep menubar hidden after Unity registrar activated ... if it was hidden before. Otherwise it becomes out of sync with MenuBar::mbDisplayable. Change-Id: I03c551ee70131a50fa694b7009c24833ac391990 Reviewed-on: https://gerrit.libreoffice.org/35487 Tested-by: Jenkins <c...@libreoffice.org> Reviewed-by: Thorsten Behrens <thorsten.behr...@cib.de> (cherry picked from commit 6d4844558268ec03da863175e1dc8d571c05ec46) diff --git a/vcl/unx/gtk/gtksalframe.cxx b/vcl/unx/gtk/gtksalframe.cxx index 7590a711279b..cfc6f4548f8c 100644 --- a/vcl/unx/gtk/gtksalframe.cxx +++ b/vcl/unx/gtk/gtksalframe.cxx @@ -724,7 +724,6 @@ void on_registrar_available( GDBusConnection * /*connection*/, { GtkSalMenu* pGtkSalMenu = static_cast<GtkSalMenu*>(pSalMenu); pGtkSalMenu->EnableUnity(true); - pGtkSalMenu->UpdateFull(); } } diff --git a/vcl/unx/gtk/gtksalmenu.cxx b/vcl/unx/gtk/gtksalmenu.cxx index 756cca26a498..e3d5b4cbe2de 100644 --- a/vcl/unx/gtk/gtksalmenu.cxx +++ b/vcl/unx/gtk/gtksalmenu.cxx @@ -1159,14 +1159,19 @@ void GtkSalMenu::EnableUnity(bool bEnable) bUnityMode = bEnable; MenuBar* pMenuBar(static_cast<MenuBar*>(mpVCLMenu.get())); + bool bDisplayable(pMenuBar->IsDisplayable()); if (bEnable) + { DestroyMenuBarWidget(); + UpdateFull(); + if (!bDisplayable) + ShowMenuBar(false); + } else { Update(); - if (pMenuBar->IsDisplayable()) - CreateMenuBarWidget(); + ShowMenuBar(bDisplayable); } pMenuBar->LayoutChanged(); diff --git a/vcl/unx/gtk3/gtk3gtkframe.cxx b/vcl/unx/gtk3/gtk3gtkframe.cxx index 2752fc75e172..1a4823eb3eb5 100644 --- a/vcl/unx/gtk3/gtk3gtkframe.cxx +++ b/vcl/unx/gtk3/gtk3gtkframe.cxx @@ -739,7 +739,6 @@ void on_registrar_available( GDBusConnection * /*connection*/, { GtkSalMenu* pGtkSalMenu = static_cast<GtkSalMenu*>(pSalMenu); pGtkSalMenu->EnableUnity(true); - pGtkSalMenu->UpdateFull(); } } commit ff8988ba0ad8688f5415d7deb2590e6ce5e68125 Author: Maxim Monastirsky <momonas...@gmail.com> Date: Fri Mar 10 01:12:08 2017 +0200 gtk3: Keep menubar hidden after customization ... if it was hidden before. Otherwise it becomes out of sync with MenuBar::mbDisplayable. Change-Id: I4957f5cef916abfa54add2901b330463364d3dba Reviewed-on: https://gerrit.libreoffice.org/35486 Tested-by: Jenkins <c...@libreoffice.org> Reviewed-by: Thorsten Behrens <thorsten.behr...@cib.de> (cherry picked from commit 519254aa32b5ad8a3ae8544d89f76884ab2f6afb) diff --git a/vcl/unx/gtk/gtksalmenu.cxx b/vcl/unx/gtk/gtksalmenu.cxx index 807470ab1066..756cca26a498 100644 --- a/vcl/unx/gtk/gtksalmenu.cxx +++ b/vcl/unx/gtk/gtksalmenu.cxx @@ -847,7 +847,7 @@ void GtkSalMenu::SetFrame(const SalFrame* pFrame) g_lo_menu_insert_section( pMenuModel, 0, nullptr, mpMenuModel ); #if GTK_CHECK_VERSION(3,0,0) - if (!bUnityMode) + if (!bUnityMode && static_cast<MenuBar*>(mpVCLMenu.get())->IsDisplayable()) { DestroyMenuBarWidget(); CreateMenuBarWidget(); commit 8c8d8683848bfe82d0ea509f5611ff39e90c1203 Author: Adolfo Jayme Barrientos <fit...@ubuntu.com> Date: Mon Mar 20 23:27:19 2017 -0600 tdf#106284 Sifr icon accidentally included an opaque background Change-Id: I0c101765eb3a8bde3cf63e8d9653143e56786063 (cherry picked from commit 0a8612f8b893b9510e083dbb9f01077d0ba1c017) Reviewed-on: https://gerrit.libreoffice.org/35497 Tested-by: Jenkins <c...@libreoffice.org> Reviewed-by: Samuel Mehrbrodt <samuel.mehrbr...@cib.de> (cherry picked from commit d7500b1e563c9d15a784e6ee834bab3210d5faaa) diff --git a/icon-themes/sifr/res/savemodified_small.png b/icon-themes/sifr/res/savemodified_small.png index 3fb98f93c7eb..cc1d5bed6036 100644 Binary files a/icon-themes/sifr/res/savemodified_small.png and b/icon-themes/sifr/res/savemodified_small.png differ commit eab541b9b9837ca1a8f1251e6172f0346f31faad Author: Matthias Freund <matti...@secure.mailbox.org> Date: Sun Mar 19 22:38:56 2017 +0100 tdf#75256 Sifr icon update new icons Change-Id: I966c962f56608371d8b8127f60e2526d4ea626a9 Reviewed-on: https://gerrit.libreoffice.org/35445 Reviewed-by: Samuel Mehrbrodt <samuel.mehrbr...@cib.de> Tested-by: Samuel Mehrbrodt <samuel.mehrbr...@cib.de> (cherry picked from commit d724eaa4a3a9dcd3ac25fcf6481514fe10fce5a6) diff --git a/icon-themes/sifr/cmd/lc_editheaderandfooter.png b/icon-themes/sifr/cmd/lc_editheaderandfooter.png new file mode 100644 index 000000000000..0c01f11c4aac Binary files /dev/null and b/icon-themes/sifr/cmd/lc_editheaderandfooter.png differ diff --git a/icon-themes/sifr/cmd/sc_editheaderandfooter.png b/icon-themes/sifr/cmd/sc_editheaderandfooter.png new file mode 100644 index 000000000000..d2774adc7858 Binary files /dev/null and b/icon-themes/sifr/cmd/sc_editheaderandfooter.png differ commit 08ceb0ca8f7498c42dd202674f88276c29280d03 Author: Mark Hung <mark...@gmail.com> Date: Fri Mar 17 20:00:03 2017 +0800 tdf#106295 fix vertical orientation for fullwidth colon and semicolon. Chinese users would expect fullwidth colon (U+FF1A) and semi-colon (U+FF1B) to be Tu( transformed upright ) instead of Tr ( Transformed rotated ) in vertical writing mode. Make them exceptions of UTR50 when language is zh. Change-Id: If7d01199973d73136a621bf2f32377da76ccb22a Reviewed-on: https://gerrit.libreoffice.org/34980 Reviewed-by: Khaled Hosny <khaledho...@eglug.org> Tested-by: Jenkins <c...@libreoffice.org> Reviewed-on: https://gerrit.libreoffice.org/35382 (cherry picked from commit 465da7d95e17367e615ec5ef65f368d89c8d7f5d) diff --git a/vcl/source/gdi/CommonSalLayout.cxx b/vcl/source/gdi/CommonSalLayout.cxx index df2849828df7..4d8d65f9501c 100644 --- a/vcl/source/gdi/CommonSalLayout.cxx +++ b/vcl/source/gdi/CommonSalLayout.cxx @@ -330,8 +330,12 @@ namespace vcl { #include "VerticalOrientationData.cxx" - VerticalOrientation GetVerticalOrientation(sal_UCS4 cCh) + VerticalOrientation GetVerticalOrientation(sal_UCS4 cCh, const LanguageTag& rTag) { + // Override fullwidth colon and semi-colon orientation. Tu is preferred. + if ((cCh == 0xff1a || cCh == 0xff1b) && rTag.getLanguage() == "zh") + return VerticalOrientation::TransformedUpright; + uint8_t nRet = 1; if (cCh < 0x10000) @@ -524,7 +528,7 @@ bool CommonSalLayout::LayoutText(ImplLayoutArgs& rArgs) { sal_Int32 nPrevIdx = nIdx; sal_UCS4 aChar = rArgs.mrStr.iterateCodePoints(&nIdx); - VerticalOrientation aVo = vcl::GetVerticalOrientation(aChar); + VerticalOrientation aVo = vcl::GetVerticalOrientation(aChar, rArgs.maLanguageTag); sal_UCS4 aVariationSelector = 0; if (nIdx < nEndRunPos) commit 92093e4589da859990d384c13818a038c3b16c4b Author: Khaled Hosny <khaledho...@eglug.org> Date: Sun Mar 5 00:04:35 2017 +0200 Handle Tr vertical orientation before shaping See https://github.com/behdad/harfbuzz/issues/355 (cherry picked from commit 5c617a811724a45dd8688869eeafac4c44f6a8aa) Change-Id: Ic82d74046980fae3e7a973fee90fe5bb4f2b8588 Reviewed-on: https://gerrit.libreoffice.org/35387 Tested-by: Jenkins <c...@libreoffice.org> Reviewed-by: Mark Hung <mark...@gmail.com> (cherry picked from commit 49eadd40b5f0de6fa97498d89f20118b996385d2) diff --git a/vcl/inc/CommonSalLayout.hxx b/vcl/inc/CommonSalLayout.hxx index 58cba16e63d4..496d17125835 100644 --- a/vcl/inc/CommonSalLayout.hxx +++ b/vcl/inc/CommonSalLayout.hxx @@ -60,7 +60,7 @@ class CommonSalLayout : public GenericSalLayout void getScale(double* nXScale, double* nYScale); hb_set_t* mpVertGlyphs; - bool IsVerticalAlternate(hb_codepoint_t nGlyphIndex); + bool HasVerticalAlternate(sal_UCS4 aChar, sal_UCS4 aNextChar); public: #if defined(_WIN32) diff --git a/vcl/source/gdi/CommonSalLayout.cxx b/vcl/source/gdi/CommonSalLayout.cxx index a6ca683c15f5..df2849828df7 100644 --- a/vcl/source/gdi/CommonSalLayout.cxx +++ b/vcl/source/gdi/CommonSalLayout.cxx @@ -409,12 +409,16 @@ void CommonSalLayout::DrawText(SalGraphics& rSalGraphics) const rSalGraphics.DrawSalLayout( *this ); } -// Find if the given glyph index can result from applying âvertâ feature. +// Find if the nominal glyph of the character is an input to âvertâ feature. // We donât check for a specific script or language as it shouldnât matter // here; if the glyph would be the result from applying âvertâ for any // script/language then we want to always treat it as upright glyph. -bool CommonSalLayout::IsVerticalAlternate(hb_codepoint_t nGlyphIndex) +bool CommonSalLayout::HasVerticalAlternate(sal_UCS4 aChar, sal_UCS4 aVariationSelector) { + hb_codepoint_t nGlyphIndex = 0; + if (!hb_font_get_glyph(mpHbFont, aChar, aVariationSelector, &nGlyphIndex)) + return false; + if (!mpVertGlyphs) { hb_face_t* pHbFace = hb_font_get_face(mpHbFont); @@ -432,7 +436,11 @@ bool CommonSalLayout::IsVerticalAlternate(hb_codepoint_t nGlyphIndex) while (hb_set_next(pLookups, &nIdx)) { hb_set_t* pGlyphs = hb_set_create(); - hb_ot_layout_lookup_collect_glyphs(pHbFace, HB_OT_TAG_GSUB, nIdx, nullptr, nullptr, nullptr, pGlyphs); + hb_ot_layout_lookup_collect_glyphs(pHbFace, HB_OT_TAG_GSUB, nIdx, + nullptr, // glyphs before + pGlyphs, // glyphs input + nullptr, // glyphs after + nullptr); // glyphs out hb_set_union(mpVertGlyphs, pGlyphs); } } @@ -516,16 +524,37 @@ bool CommonSalLayout::LayoutText(ImplLayoutArgs& rArgs) { sal_Int32 nPrevIdx = nIdx; sal_UCS4 aChar = rArgs.mrStr.iterateCodePoints(&nIdx); - switch (vcl::GetVerticalOrientation(aChar)) + VerticalOrientation aVo = vcl::GetVerticalOrientation(aChar); + + sal_UCS4 aVariationSelector = 0; + if (nIdx < nEndRunPos) + { + sal_Int32 nNextIdx = nIdx; + sal_UCS4 aNextChar = rArgs.mrStr.iterateCodePoints(&nNextIdx); + if (u_hasBinaryProperty(aNextChar, UCHAR_VARIATION_SELECTOR)) + { + nIdx = nNextIdx; + aVariationSelector = aNextChar; + } + } + + // Charters with U and Tu vertical orientation should + // be shaped in vertical direction. But characters + // with Tr should be shaped in vertical direction + // only if they have vertical alternates, otherwise + // they should be shaped in horizontal direction + // and then rotated. + // See http://unicode.org/reports/tr50/#vo + if (aVo == VerticalOrientation::Upright || + aVo == VerticalOrientation::TransformedUpright || + (aVo == VerticalOrientation::TransformedRotated && + HasVerticalAlternate(aChar, aVariationSelector))) { - case VerticalOrientation::Upright: - case VerticalOrientation::TransformedUpright: - case VerticalOrientation::TransformedRotated: aDirection = HB_DIRECTION_TTB; - break; - default: + } + else + { aDirection = bRightToLeft ? HB_DIRECTION_RTL : HB_DIRECTION_LTR; - break; } if (aSubRuns.empty() || aSubRuns.back().maDirection != aDirection) @@ -635,13 +664,7 @@ bool CommonSalLayout::LayoutText(ImplLayoutArgs& rArgs) DeviceCoordinate nAdvance, nXOffset, nYOffset; if (aSubRun.maDirection == HB_DIRECTION_TTB) { - // If the vertical orientation is Tr, then we need to - // consider the glyph upright only if it was a vertical - // alternate (i.e. transformed). - // See http://unicode.org/reports/tr50/#vo - if (vcl::GetVerticalOrientation(aChar) != VerticalOrientation::TransformedRotated - || IsVerticalAlternate(pHbGlyphInfos[i].codepoint)) - nGlyphIndex |= GF_ROTL; + nGlyphIndex |= GF_ROTL; nAdvance = -pHbPositions[i].y_advance; nXOffset = pHbPositions[i].y_offset;
_______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits