Map 'cmn' Mandarin Chinese with associated country for Simplified
and Traditional to the technically used 'zh' macrolanguage code.
Change-Id: Ifb8a31e728bbf828f13145513bc56a51684ea134
Reviewed-on: https://gerrit.libreoffice.org/73563
Tested-by: Jenkins
Reviewed-by: Eike Rathke <erack@redhat.com>
* Update helpcontent2 from branch 'master'
- Prevent L10n issue when building Help
Pootle does not convert back < and > into the same entities, thus
disturbing XML parsing of string. Changed to ().
Change-Id: I4e754313a2c51c6b5b190a7e236768fe84ec8672
Reviewed-on: https://gerrit.libreoffice.org/73444
Tested-by: Jenkins
Reviewed-by: Olivier Hallot <olivier.hallot@libreoffice.org>
This patch adds two new underlining styles:
- BOLDWAVE: a thicker version of the default WAVE style
- BOLD: a thick straight line
No default setting changed. It's up to the grammar checkers to specify
the underlining style they want.
This contribution to LibreOffice is licensed under the MPLv2/LGPLv3+ dual license.
modified : include/vcl/outdev.hxx
modified : offapi/com/sun/star/text/TextMarkupDescriptor.idl
modified : sw/source/core/inc/wrong.hxx
modified : sw/source/core/txtnode/fntcache.cxx
modified : vcl/source/outdev/textline.cxx
modified : vcl/workben/outdevgrind.cxx
Change-Id: I5629253905ba40c51cc748a7ceeb84170ef5d94c
Reviewed-on: https://gerrit.libreoffice.org/73412
Tested-by: Jenkins
Reviewed-by: Michael Stahl <Michael.Stahl@cib.de>
The presentation minimizer dialog calls setVisible before execute.
This results in the dialog being shown before setting the modality
in execute. And this triggers a bug in the Qt / Xcb stack (gtk is
fine because it directly uses XSendEvent to change the state).
The result is an unmapped, modal dialog window: it's invisible and
blocks the GUI. Qt believes it's show; isVisible() returns true.
And my ~/.xsession-errors shows a "qt.qpa.xcb: QXcbConnection: XCB
error: 3 (BadWindow) ... major code: 18 (ChangeProperty)" with an
invalid resource id, according to 'xwininfo -tree -root'.
You can find the window resource of the minimizer by its name in
the full root tree and its unmapped state with 'xwininfo -id'.
I originally thought of a Scheduler bug so enabled debug output
for it. This is already responsible for a delay long enough to
prevent the bug often. Same for doing an additional hide() and
show() sequence. In the end I went with a fixed delay, but that
is just a guess. In theory we could check the mapped state via
Xlib in Qt's show event and manually map it using XMapWindow and
the winId...
I also noted that the minimizer leaks, as there are multiple new
presenter resources after each show and hide...
Change-Id: I2060918aa9c63d385ebb2ffee9e7a3e4196ea766
Reviewed-on: https://gerrit.libreoffice.org/73462
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
And use RunInMain for both SalInstances and for both picker types,
as there is no reason to assume just the file and not the folder
picker can be called from the non-GUI thread.
Little drawback is the inclusion of Qt5FilePicker header in the
Qt5Instance header, as Qt's enums aren't forward-declarable.
Change-Id: Ie170d247a76134df9aff835393c71c9d6e907d32
Reviewed-on: https://gerrit.libreoffice.org/73416
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Tested-by: Jenkins
Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
By adding a couple of members to Link, we are
now able to trace the target function name and
the file:line where the Link instance in question
was created (provided the LINK macro is used).
This gives the invaluable ability to track down the
source of a Link instance in the debugger, provided
we have enabled this feature, which is enabled in
DBG_UTIL automatically, unless explicitly enabled.
Of course it is also possible to judiciously add
LOG/fprintf statements to chase this info, if not
outright track all links, if so we wish, by dumping
from Link::Call, or at construction time of Link.
Change-Id: Iab1dce31a179d28aaa1f20228e9e0405973b5e9b
Reviewed-on: https://gerrit.libreoffice.org/73478
Tested-by: Jenkins
Reviewed-by: Jan Holesovsky <kendy@collabora.com>
The first problem here is that the table isn't fully formatted; it fails
with:
warn:legacy.osl:22975:22975:sw/source/core/layout/tabfrm.cxx:2639: debug assertion: <SwTabFrame::MakeAll()> - format of table lowers suppressed by fix i44910
The situation is that there is a big table split across pages; the first
line of the table would fit onto the previous page so its follow frame
moves backward and then the table frame tries to split again.
During SwTabFrame::Split(), all the frames in the table are formatted,
and at that point a footnote that was on the next page is moved to this
page.
A nested table frame also splits, such that it fits inside the page...
but then the split of the outer table fails by 5 twips, because the
moved footnote has reduced the space available for the outer table.
The footnote is anchored in the inner table's follow frame, which would
be moved to the next page anyway, taking the footnote with it.
Fix this in lcl_RecalcSplitLine() by checking for footnotes that are
anchored in the follow frame of the top-level table being split, and
adding their height to the available space on the page.
Fixing the first problem avoids the crash as well; the crash happens
since 18765b9fa7 and it's rather hard to
avoid it in a situation where formatting starts at the end and recurses
into an unformatted table preceding it, which isn't supposed to happen.
Change-Id: I85286583c1c4930468a1c283afc98504cd35bb71
Reviewed-on: https://gerrit.libreoffice.org/73465
Tested-by: Jenkins
Reviewed-by: Michael Stahl <Michael.Stahl@cib.de>
An assert is failing without this:
ucrtbased.dll!abort() Line 61
at minkernel\crts\ucrt\src\appcrt\startup\abort.cpp(61)
ucrtbased.dll!common_assert_to_stderr<wchar_t>(const wchar_t * const expression, const wchar_t * const file_name, const unsigned int line_number) Line 187
at minkernel\crts\ucrt\src\appcrt\startup\assert.cpp(187)
ucrtbased.dll!common_assert<wchar_t>(const wchar_t * const expression, const wchar_t * const file_name, const unsigned int line_number, void * const return_address) Line 420
at minkernel\crts\ucrt\src\appcrt\startup\assert.cpp(420)
ucrtbased.dll!_wassert(const wchar_t * expression, const wchar_t * file_name, unsigned int line_number) Line 444
at minkernel\crts\ucrt\src\appcrt\startup\assert.cpp(444)
vcllo.dll!VclBuilder::get<FixedImage>(const rtl::OString & sID) Line 446
at C:\cygwin\home\user\lode\dev\core\include\vcl\builder.hxx(446)
vcllo.dll!VclBuilder::VclBuilder(vcl::Window * pParent, const rtl::OUString & sUIDir, const rtl::OUString & sUIFile, const rtl::OString & sID, const com::sun:⭐:uno::Reference<com::sun:⭐:frame::XFrame> & rFrame, bool bLegacy) Line 698
at C:\cygwin\home\user\lode\dev\core\vcl\source\window\builder.cxx(698)
vcllo.dll!SalInstanceBuilder::SalInstanceBuilder(vcl::Window * pParent, const rtl::OUString & rUIRoot, const rtl::OUString & rUIFile) Line 4995
at C:\cygwin\home\user\lode\dev\core\vcl\source\app\salvtables.cxx(4995)
vcllo.dll!SalInstance::CreateBuilder(weld::Widget * pParent, const rtl::OUString & rUIRoot, const rtl::OUString & rUIFile) Line 5260
at C:\cygwin\home\user\lode\dev\core\vcl\source\app\salvtables.cxx(5260)
vcllo.dll!Application::CreateBuilder(weld::Widget * pParent, const rtl::OUString & rUIFile) Line 146
at C:\cygwin\home\user\lode\dev\core\vcl\source\window\builder.cxx(146)
vcllo.dll!weld::GenericDialogController::GenericDialogController(weld::Widget * pParent, const rtl::OUString & rUIFile, const rtl::OString & rDialogId) Line 5347
at C:\cygwin\home\user\lode\dev\core\vcl\source\app\salvtables.cxx(5347)
sduilo.dll!SvxBulletAndPositionDlg::SvxBulletAndPositionDlg(weld::Window * pWindow, const SfxItemSet & rSet, sd::View * pView) Line 117
at C:\cygwin\home\user\lode\dev\core\sd\source\ui\dlg\BulletAndPositionDlg.cxx(117)
sduilo.dll!std::make_unique<SvxBulletAndPositionDlg,weld::Window * &,SfxItemSet const &,sd::View * &,0>(weld::Window * & <_Args_0>, const SfxItemSet & <_Args_1>, sd::View * & <_Args_2>) Line 2042
at C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.21.27702\include\memory(2042)
sduilo.dll!SdAbstractDialogFactory_Impl::CreateSvxBulletAndPositionDlg(weld::Window * pParent, const SfxItemSet * pAttr, sd::View * pView) Line 387
at C:\cygwin\home\user\lode\dev\core\sd\source\ui\dlg\sddlgfact.cxx(387)
sdlo.dll!sd::FuBulletAndPosition::DoExecute(SfxRequest & rReq) Line 92
at C:\cygwin\home\user\lode\dev\core\sd\source\ui\func\fuolbull.cxx(92)
sdlo.dll!sd::FuBulletAndPosition::Create(sd::ViewShell * pViewSh, sd::Window * pWin, sd::View * pView, SdDrawDocument * pDoc, SfxRequest & rReq) Line 57
at C:\cygwin\home\user\lode\dev\core\sd\source\ui\func\fuolbull.cxx(57)
sdlo.dll!sd::DrawViewShell::FuTemporary(SfxRequest & rReq) Line 1447
at C:\cygwin\home\user\lode\dev\core\sd\source\ui\view\drviews2.cxx(1447)
sdlo.dll!SfxStubDrawViewShellFuTemporary(SfxShell * pShell, SfxRequest & rReq) Line 1514
at C:\cygwin\home\user\lode\dev\core\workdir\SdiTarget\sd\sdi\sdslots.hxx(1514)
sfxlo.dll!SfxShell::CallExec(void(*)(SfxShell *, SfxRequest &) pFunc, SfxRequest & rReq) Line 197
at C:\cygwin\home\user\lode\dev\core\include\sfx2\shell.hxx(197)
sfxlo.dll!SfxDispatcher::Call_Impl(SfxShell & rShell, const SfxSlot & rSlot, SfxRequest & rReq, bool bRecord) Line 360
at C:\cygwin\home\user\lode\dev\core\sfx2\source\control\dispatch.cxx(360)
sfxlo.dll!SfxDispatcher::Execute_(SfxShell & rShell, const SfxSlot & rSlot, SfxRequest & rReq, SfxCallMode eCallMode) Line 857
at C:\cygwin\home\user\lode\dev\core\sfx2\source\control\dispatch.cxx(857)
sfxlo.dll!SfxBindings::Execute_Impl(SfxRequest & aReq, const SfxSlot * pSlot, SfxShell * pShell) Line 1066
at C:\cygwin\home\user\lode\dev\core\sfx2\source\control\bindings.cxx(1066)
sfxlo.dll!SfxDispatchController_Impl::dispatch(const com::sun:⭐:util::URL & aURL, const com::sun:⭐:uno::Sequence<com::sun:⭐🫘:PropertyValue> & aArgs, const com::sun:⭐:uno::Reference<com::sun:⭐:frame::XDispatchResultListener> & rListener) Line 757
at C:\cygwin\home\user\lode\dev\core\sfx2\source\control\unoctitm.cxx(757)
sfxlo.dll!SfxOfficeDispatch::dispatch(const com::sun:⭐:util::URL & aURL, const com::sun:⭐:uno::Sequence<com::sun:⭐🫘:PropertyValue> & aArgs) Line 226
at C:\cygwin\home\user\lode\dev\core\sfx2\source\control\unoctitm.cxx(226)
fwklo.dll!framework::MenuBarManager::Select(Menu * pMenu) Line 896
at C:\cygwin\home\user\lode\dev\core\framework\source\uielement\menubarmanager.cxx(896)
fwklo.dll!framework::MenuBarManager::LinkStubSelect(void * instance, Menu * data) Line 832
at C:\cygwin\home\user\lode\dev\core\framework\source\uielement\menubarmanager.cxx(832)
vcllo.dll!Link<Menu *,bool>::Call(Menu * data) Line 84
at C:\cygwin\home\user\lode\dev\core\include\tools\link.hxx(84)
vcllo.dll!Menu::Select() Line 362
at C:\cygwin\home\user\lode\dev\core\vcl\source\window\menu.cxx(362)
vcllo.dll!Menu::ImplCallSelect(void * __formal) Line 2150
at C:\cygwin\home\user\lode\dev\core\vcl\source\window\menu.cxx(2150)
vcllo.dll!Menu::LinkStubImplCallSelect(void * instance, void * data) Line 2146
at C:\cygwin\home\user\lode\dev\core\vcl\source\window\menu.cxx(2146)
vcllo.dll!Link<void *,void>::Call(void * data) Line 84
at C:\cygwin\home\user\lode\dev\core\include\tools\link.hxx(84)
vcllo.dll!ImplHandleUserEvent(ImplSVEvent * pSVEvent) Line 1961
at C:\cygwin\home\user\lode\dev\core\vcl\source\window\winproc.cxx(1961)
vcllo.dll!ImplWindowFrameProc(vcl::Window * _pWindow, SalEvent nEvent, const void * pEvent) Line 2512
at C:\cygwin\home\user\lode\dev\core\vcl\source\window\winproc.cxx(2512)
vcllo.dll!SalFrame::CallCallback(SalEvent nEvent, const void * pEvent) Line 294
at C:\cygwin\home\user\lode\dev\core\vcl\inc\salframe.hxx(294)
vclplug_winlo.dll!ImplHandleUserEvent(HWND__ * hWnd, __int64 lParam) Line 4080
at C:\cygwin\home\user\lode\dev\core\vcl\win\window\salframe.cxx(4080)
vclplug_winlo.dll!SalFrameWndProc(HWND__ * hWnd, unsigned int nMsg, unsigned __int64 wParam, __int64 lParam, bool & rDef) Line 5733
at C:\cygwin\home\user\lode\dev\core\vcl\win\window\salframe.cxx(5733)
vclplug_winlo.dll!SalFrameWndProcW(HWND__ * hWnd, unsigned int nMsg, unsigned __int64 wParam, __int64 lParam) Line 5840
at C:\cygwin\home\user\lode\dev\core\vcl\win\window\salframe.cxx(5840)
user32.dll!UserCallWinProcCheckWow()
user32.dll!CallWindowProcW()
opengl32.dll!wglWndProc()
user32.dll!UserCallWinProcCheckWow()
user32.dll!DispatchMessageWorker()
vclplug_winlo.dll!ImplSalDispatchMessage(const tagMSG * pMsg) Line 410
at C:\cygwin\home\user\lode\dev\core\vcl\win\app\salinst.cxx(410)
vclplug_winlo.dll!ImplSalYield(bool bWait, bool bHandleAllCurrentEvents) Line 441
at C:\cygwin\home\user\lode\dev\core\vcl\win\app\salinst.cxx(441)
vclplug_winlo.dll!WinSalInstance::DoYield(bool bWait, bool bHandleAllCurrentEvents) Line 512
at C:\cygwin\home\user\lode\dev\core\vcl\win\app\salinst.cxx(512)
vcllo.dll!ImplYield(bool i_bWait, bool i_bAllEvents) Line 457
at C:\cygwin\home\user\lode\dev\core\vcl\source\app\svapp.cxx(457)
vcllo.dll!Application::Yield() Line 522
at C:\cygwin\home\user\lode\dev\core\vcl\source\app\svapp.cxx(522)
vcllo.dll!Application::Execute() Line 438
at C:\cygwin\home\user\lode\dev\core\vcl\source\app\svapp.cxx(438)
sofficeapp.dll!desktop::Desktop::Main() Line 1621
at C:\cygwin\home\user\lode\dev\core\desktop\source\app\app.cxx(1621)
vcllo.dll!ImplSVMain() Line 203
at C:\cygwin\home\user\lode\dev\core\vcl\source\app\svmain.cxx(203)
vcllo.dll!SVMain() Line 238
at C:\cygwin\home\user\lode\dev\core\vcl\source\app\svmain.cxx(238)
sofficeapp.dll!soffice_main() Line 170
at C:\cygwin\home\user\lode\dev\core\desktop\source\app\sofficemain.cxx(170)
soffice.bin!sal_main() Line 48
at C:\cygwin\home\user\lode\dev\core\desktop\source\app\main.c(48)
soffice.bin!main(int argc, char * * argv) Line 47
at C:\cygwin\home\user\lode\dev\core\desktop\source\app\main.c(47)
soffice.bin!invoke_main() Line 79
at d:\agent\_work\2\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl(79)
soffice.bin!__scrt_common_main_seh() Line 288
at d:\agent\_work\2\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl(288)
soffice.bin!__scrt_common_main() Line 331
at d:\agent\_work\2\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl(331)
soffice.bin!mainCRTStartup() Line 17
at d:\agent\_work\2\s\src\vctools\crt\vcstartup\src\startup\exe_main.cpp(17)
kernel32.dll!BaseThreadInitThunk()
ntdll.dll!RtlUserThreadStart()
because the images are added with empty ids, get into the same slot of
m_pParserState->m_aStockMap, and then in VclBuilder::VclBuilder's block
labeled "fill in any stock icons in surviving images", get<FixedImage>
is called with that empty id, finding another control not having an id,
then failing dynamic_cast it to FixedImage.
Change-Id: Ie2f48ea0753998e8ed6590c45a3d916339c1fc13
Reviewed-on: https://gerrit.libreoffice.org/73531
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
Tested-by: Mike Kaganski <mike.kaganski@collabora.com>
Removing these few lines of code fixes the problem on iOS, and has no
apparent ill effect on macOS. But sure, I didn't check that thoroughly
on macOS, so in case this has a bad effect on macOS after all, need to
reinstate the few lines but make them #ifndef IOS.
(Still passes make check.)
Change-Id: I2380d010ba223a698acfe916fca4580a1502be98
The commit caf2f5fff3
"tdf#70234 DOCX: export tracked deletion of fields"
must handle only the fields with multiple runs
(expanded fields).
Change-Id: I2303bade75401e07accf3f0a874f093458fe7efa
Reviewed-on: https://gerrit.libreoffice.org/73453
Tested-by: Jenkins
Reviewed-by: László Németh <nemeth@numbertext.org>
by default start bullet list at second level
use stBulletLvl parameter to change this behaviour
Change-Id: I5084e7bf1902fdca83bea6d57a8c1f37dd2e65be
Reviewed-on: https://gerrit.libreoffice.org/73440
Tested-by: Jenkins
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
Regression from commit a4cb27f613
(refactor ScMenuFloatingWindow to use RenderContext, 2015-05-14), the
problem was that the change had two effects:
1) It removed incremental rendering that now causes flicker.
2) It added support for painting into a rendercontext, not on the window
itself.
Given that here a hierarchy of widgets have to be painted at once (to
avoid flicker), use vcl::Window::RequestDoubleBuffering() instead of the
much simpler vcl::BufferDevice.
This improves the situation on Windows, but explicitly blacklist the
focus rectangle case (gtk3) which is currently not compatible with this
higher level double-buffering (and there we already have lower-level
double-buffering anyway, similar to OpenGL).
Change-Id: I77aa951e14db668166dc8757e36c037ee98243bf
Reviewed-on: https://gerrit.libreoffice.org/73441
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
Tested-by: Jenkins
With -fsanitize=float-cast-overflow, opening doc/abi5309-1.doc as obtained by
bin/get-bugzilla-attachments-by-mimetype (i.e., the attachment at
<https://bugzilla.abisource.com/show_bug.cgi?id=5309#c3>) fails with
> include/tools/helpers.hxx:76:79: runtime error: 1e+20 is outside the range of representable values of type 'long'
> #0 in FRound(double) at include/tools/helpers.hxx:76:79 (instdir/program/libtllo.so +0x3c13dd)
> #1 in ImplPolygon::ImplPolygon(basegfx::B2DPolygon const&) at tools/source/generic/poly.cxx:474:30 (instdir/program/libtllo.so +0x40f35f)
> #2 in tools::Polygon::Polygon(basegfx::B2DPolygon const&) at tools/source/generic/poly.cxx:1849:72 (instdir/program/libtllo.so +0x42c9ff)
> #3 in ImplPolyPolygon::ImplPolyPolygon(basegfx::B2DPolyPolygon const&) at tools/source/generic/poly2.cxx:482:28 (instdir/program/libtllo.so +0x45561e)
> #4 in tools::PolyPolygon::PolyPolygon(basegfx::B2DPolyPolygon const&) at tools/source/generic/poly2.cxx:463:25 (instdir/program/libtllo.so +0x45512d)
> #5 in emfio::MtfTools::DrawPolygon(tools::Polygon, bool) at emfio/source/reader/mtftools.cxx:1287:17 (instdir/program/../program/libemfiolo.so +0x1828d3)
> #6 in emfio::WmfReader::ReadRecordParams(unsigned short) at emfio/source/reader/wmfreader.cxx:367:21 (instdir/program/../program/libemfiolo.so +0x1cffde)
> #7 in emfio::WmfReader::ReadWMF() at emfio/source/reader/wmfreader.cxx:1425:29 (instdir/program/../program/libemfiolo.so +0x1f7567)
> #8 in emfio::emfreader::XEmfParser::getDecomposition(com::sun:⭐:uno::Reference<com::sun:⭐:io::XInputStream> const&, rtl::OUString const&, com::sun:⭐:uno::Sequence<com::sun:⭐🫘:PropertyValue> const&) at emfio/source/emfuno/xemfparser.cxx:152:108 (instdir/program/../program/libemfiolo.so +0x13795a)
> #9 in non-virtual thunk to emfio::emfreader::XEmfParser::getDecomposition(com::sun:⭐:uno::Reference<com::sun:⭐:io::XInputStream> const&, rtl::OUString const&, com::sun:⭐:uno::Sequence<com::sun:⭐🫘:PropertyValue> const&) at emfio/source/emfuno/xemfparser.cxx (instdir/program/../program/libemfiolo.so +0x138735)
> #10 in VectorGraphicData::ensureSequenceAndRange() at vcl/source/gdi/vectorgraphicdata.cxx:172:137 (instdir/program/libvcllo.so +0x86bdadf)
> #11 in VectorGraphicData::ensureReplacement() at vcl/source/gdi/vectorgraphicdata.cxx:138:5 (instdir/program/libvcllo.so +0x86bcb94)
> #12 in VectorGraphicData::getReplacement() const at vcl/source/gdi/vectorgraphicdata.cxx:286:45 (instdir/program/libvcllo.so +0x86c0a04)
> #13 in ImpGraphic::ImplSetPrefSize(Size const&) at vcl/source/gdi/impgraph.cxx:956:45 (instdir/program/libvcllo.so +0x7d05433)
> #14 in Graphic::SetPrefSize(Size const&) at vcl/source/gdi/graph.cxx:388:19 (instdir/program/libvcllo.so +0x7ca7e26)
> #15 in SvxMSDffManager::GetBLIPDirect(SvStream&, Graphic&, tools::Rectangle*) at filter/source/msfilter/msdffimp.cxx:6616:26 (instdir/program/../program/libmsfilterlo.so +0x9617bc)
> #16 in SvxMSDffManager::GetBLIP(unsigned long, Graphic&, tools::Rectangle*) at filter/source/msfilter/msdffimp.cxx:6453:23 (instdir/program/../program/libmsfilterlo.so +0x95f368)
> #17 in SvxMSDffManager::ImportGraphic(SvStream&, SfxItemSet&, DffObjData const&) at filter/source/msfilter/msdffimp.cxx:3821:24 (instdir/program/../program/libmsfilterlo.so +0x990678)
> #18 in SvxMSDffManager::ImportShape(DffRecordHeader const&, SvStream&, SvxMSDffClientData&, tools::Rectangle&, tools::Rectangle const&, int, int*) at filter/source/msfilter/msdffimp.cxx:4368:28 (instdir/program/../program/libmsfilterlo.so +0x9a221a)
> #19 in SvxMSDffManager::ImportObj(SvStream&, SvxMSDffClientData&, tools::Rectangle&, tools::Rectangle const&, int, int*) at filter/source/msfilter/msdffimp.cxx:4073:16 (instdir/program/../program/libmsfilterlo.so +0x9972d8)
> #20 in SvxMSDffManager::GetShape(unsigned long, SdrObject*&, SvxMSDffImportData&) at filter/source/msfilter/msdffimp.cxx:6377:23 (instdir/program/../program/libmsfilterlo.so +0x9dde0c)
> #21 in SwWW8ImplReader::Read_GrafLayer(long) at sw/source/filter/ww8/ww8graf.cxx:2567:34 (instdir/program/../program/libmswordlo.so +0x2c51a1f)
> #22 in SwWW8ImplReader::ReadChar(long, long) at sw/source/filter/ww8/ww8par.cxx:3697:17 (instdir/program/../program/libmswordlo.so +0x2db3a07)
> #23 in SwWW8ImplReader::ReadChars(int&, int, long, long) at sw/source/filter/ww8/ww8par.cxx:3484:27 (instdir/program/../program/libmswordlo.so +0x2dafba2)
> #24 in SwWW8ImplReader::ReadText(int, int, ManTypes) at sw/source/filter/ww8/ww8par.cxx:4045:22 (instdir/program/../program/libmswordlo.so +0x2d85c3e)
> #25 in SwWW8ImplReader::CoreLoad(WW8Glossary const*) at sw/source/filter/ww8/ww8par.cxx:5227:9 (instdir/program/../program/libmswordlo.so +0x2de3314)
> #26 in SwWW8ImplReader::LoadThroughDecryption(WW8Glossary*) at sw/source/filter/ww8/ww8par.cxx:5892:19 (instdir/program/../program/libmswordlo.so +0x2df31ad)
> #27 in SwWW8ImplReader::LoadDoc(WW8Glossary*) at sw/source/filter/ww8/ww8par.cxx:6196:19 (instdir/program/../program/libmswordlo.so +0x2dfe1ed)
> #28 in WW8Reader::Read(SwDoc&, rtl::OUString const&, SwPaM&, rtl::OUString const&) at sw/source/filter/ww8/ww8par.cxx:6347:26 (instdir/program/../program/libmswordlo.so +0x2e0301a)
> #29 in SwReader::Read(Reader const&) at sw/source/filter/basflt/shellio.cxx:188:22 (instdir/program/../program/libswlo.so +0x1041d2be)
> #30 in SwDocShell::ConvertFrom(SfxMedium&) at sw/source/uibase/app/docsh.cxx:261:26 (instdir/program/../program/libswlo.so +0x10fc4d98)
> #31 in SfxObjectShell::DoLoad(SfxMedium*) at sfx2/source/doc/objstor.cxx:768:23 (instdir/program/libsfxlo.so +0x49d934a)
[...]
To represent "negative" clip regions, basegfx/source/tools/b2dclipstate.cxx uses
an ugly hack of subtracting the region from a ±1E20 bounding box. This document
uses such a negative clip region with a 4504x633@(11301,38) rectangular hole.
(Though I don't know whether that's the real intention, or caused by LO
misparsing the input file format.)
So to avoid converting the ±1E20 bounding box from double to long, do the
intersection here with basegfx double values, and only convert the result to
tools long values. (There appears to be no implemenation of intersection with
a polypolygon for B2DPolyPolyon, just B2DClipState::intersectPolyPolygon.) (In
principle there could be loss of precision when aPolyPoly is converted to a
B2DPolyPolygon now, but that's unlikely with a typical IEEE 754 double with
52 bit mantissa.)
Change-Id: I82a9941b43d90153d63612147b2ca33fbca5f179
Reviewed-on: https://gerrit.libreoffice.org/73386
Tested-by: Jenkins
Reviewed-by: Thorsten Behrens <Thorsten.Behrens@CIB.de>
The DISABLE_DYNLOADING case in ImpFilterLibCacheEntry::GetImportFunction()
had apparently been broken from the start, but nobody never noticed as
the common formats (PNG, JPEG, GIF etc) use a more "internal"code
path. The problem was noticed now with a TIFF image in a presentation.
The fix for the import case seems to work, but I could not test the
fix for the export case.
Change-Id: Icbd33c7cb654136a562f18b06d5b0896e701bf3d
Starting from ICU 63, the vertical orientation property is provided by ICU so
we use it instead of our inyternal, and potentially outdated data file. Old
code is kept until support for ICU < 63 is dropped.
Change-Id: I0df1f3f5e853ca90945a36a8123bec9ae7f691cc
Reviewed-on: https://gerrit.libreoffice.org/73425
Tested-by: Jenkins
Reviewed-by: Mark Hung <marklh9@gmail.com>
* Update dictionaries from branch 'master'
- Remove abbreviations from Thai hunspell dictionary.
Reasons:
1. They are not present in other spellcheck dictionaries (such as en).
2. To add all abreviations would not be much different from adding all
possible combinations of 2-3 Thai consonants. This would make misspelled
abbreviations come as correct to the spellcheck anyway.
3. Adding only the most common ones can cause confusion to those using
less common ones, as the spellchecker will suggest the more common
abbreviation. It is also nearly impossible to determine if an abbreviation
is common that it should be added or not.
Change-Id: I8b7bce70f552ab3b356e1ab2c101e9e31a8ec271
Reviewed-on: https://gerrit.libreoffice.org/73216
Reviewed-by: Andras Timar <andras.timar@collabora.com>
Tested-by: Andras Timar <andras.timar@collabora.com>
Multiple runs of a field weren't exported as
tracked deletion, resulting bad DOCX export
with reappearing deleted fields in LO and
invalid document in MSO.
Change-Id: I2a1957371b78e0af60d8bf3944a1c28abe8ba0cc
Reviewed-on: https://gerrit.libreoffice.org/73438
Tested-by: Jenkins
Reviewed-by: László Németh <nemeth@numbertext.org>
If possible here means if it can't be an operator (is not an ASCII
value) and is not any other separator. This restores the "working
by chance" behaviour for some locales that use NO-BREAK SPACE as
group separator. It never worked for locales that use one of the
"ordinary" comma or dot or apostrophe group separator and will
not.
Change-Id: I8b7ba1b502b6b7367ffb2199d2f3922ab605a659
Reviewed-on: https://gerrit.libreoffice.org/73422
Reviewed-by: Eike Rathke <erack@redhat.com>
Tested-by: Jenkins