summaryrefslogtreecommitdiff
path: root/sw
AgeCommit message (Collapse)Author
2024-08-15tdf#156211 sw: Fix spurious kashida inserted after undoJonathan Clark
This change fixes an issue presenting as incorrectly-positioned kashida glyphs overlapping Arabic text after certain edit operations. During layout with kashida justification, Writer builds a table of lines that require fallback to whitespace justification. Normally, this table is built sequentially from the first line, but it may be updated out-of-order following certain edit operations. Due to an off-by-one error, if Writer cleared the exclusion for a line immediately before a legitimately-excluded line, Writer would also clear the legitimate exclusion. In such a situation, portions of excluded text would be redrawn with kashida justification, and because that text usually does not have enough free space, the kashida glyphs would be drawn on top of the base text. Change-Id: I204661286531fa6064f7a6adc35f1606e35e5d39 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171878 Tested-by: Jenkins Reviewed-by: Jonathan Clark <jonathan@libreoffice.org>
2024-08-14tdf#160301 - Add Unit testAdam Seskunas
Change-Id: Icfd8aa7066ea837103a332c3b61950574b7799fa Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171840 Tested-by: Jenkins Reviewed-by: Hossein <hossein@libreoffice.org>
2024-08-14Fix typoAndrea Gelmini
Change-Id: I9a61081ad045bcc22e7ab5f89118270674654f2d Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171865 Tested-by: Julien Nabet <serval2412@yahoo.fr> Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2024-08-14tdf#158556 bypass some more logic for toggle propertiesNoel Grandin
Change-Id: I9004ae8d6a13beb81cd00a227b711baebfdb82a1 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171852 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2024-08-14Disallow closing document during idle layoutMike Kaganski
Similar to commit 99c1bd1a4ef5365d8c26a41c8e858c67e673beb4 (Disallow closing document during generation of preview, 2024-03-11), it may happen that an external process is closes a document that is being in the process of the background layout, leading to use-after-free. The request thread at the crash time, executing XComponent::dispose: swlo.dll!SwNoTextFrame::~SwNoTextFrame() Line 170 swlo.dll!SwNoTextFrame::`scalar deleting destructor'(unsigned int) swlo.dll!SwFrame::DestroyFrame(SwFrame * const pFrame) Line 397 swlo.dll!SwFlyFrame::DeleteCnt() Line 424 swlo.dll!SwFlyFrame::DestroyImpl() Line 358 swlo.dll!SwFlyFreeFrame::DestroyImpl() Line 89 swlo.dll!SwFrame::DestroyFrame(SwFrame * const pFrame) Line 396 swlo.dll!SwLayoutFrame::DestroyImpl() Line 516 swlo.dll!SwFrame::DestroyFrame(SwFrame * const pFrame) Line 396 swlo.dll!SwLayoutFrame::DestroyImpl() Line 540 swlo.dll!SwPageFrame::DestroyImpl() Line 317 swlo.dll!SwFrame::DestroyFrame(SwFrame * const pFrame) Line 396 swlo.dll!SwLayoutFrame::DestroyImpl() Line 540 swlo.dll!SwRootFrame::DestroyImpl() Line 570 swlo.dll!SwFrame::DestroyFrame(SwFrame * const pFrame) Line 396 swlo.dll!std::_Ref_count_resource<SwRootFrame *,void (__cdecl*)(SwFrame *)>::_Destroy() Line 1222 swlo.dll!std::_Ref_count_base::_Decref() Line 1164 swlo.dll!std::_Ptr_base<SwRootFrame>::_Decref() Line 1380 swlo.dll!std::shared_ptr<SwRootFrame>::~shared_ptr<SwRootFrame>() Line 1685 swlo.dll!SwViewShell::~SwViewShell() Line 354 swlo.dll!SwCursorShell::~SwCursorShell() Line 3440 swlo.dll!SwEditShell::~SwEditShell() Line 63 swlo.dll!SwFEShell::~SwFEShell() Line 699 swlo.dll!SwWrtShell::~SwWrtShell() Line 2065 swlo.dll!SwWrtShell::`scalar deleting destructor'(unsigned int) swlo.dll!std::default_delete<SwWrtShell>::operator()(SwWrtShell * _Ptr) Line 3302 swlo.dll!std::unique_ptr<SwWrtShell,std::default_delete<SwWrtShell>>::reset(SwWrtShell * _Ptr) Line 3447 swlo.dll!SwView::~SwView() Line 1196 swlo.dll!SwView::`vector deleting destructor'(unsigned int) sfxlo.dll!SfxViewFrame::ReleaseObjectShell_Impl() Line 1140 sfxlo.dll!SfxViewFrame::~SfxViewFrame() Line 2059 sfxlo.dll!SfxViewFrame::`scalar deleting destructor'(unsigned int) sfxlo.dll!SfxViewFrame::Close() Line 1192 sfxlo.dll!SfxFrame::DoClose_Impl() Line 138 sfxlo.dll!SfxBaseController::dispose() Line 928 fwklo.dll!`anonymous namespace'::XFrameImpl::setComponent(const com::sun::star::uno::Reference<com::sun::star::awt::XWindow> & xComponentWindow, const com::sun::star::uno::Reference<com::sun::star::frame::XController> & xController) Line 1496 fwklo.dll!`anonymous namespace'::XFrameImpl::close(unsigned char bDeliverOwnership) Line 1707 sfxlo.dll!SfxFrame::DoClose() Line 104 sfxlo.dll!SfxViewFrame::Notify(SfxBroadcaster & __formal, const SfxHint & rHint) Line 1820 svllo.dll!SfxBroadcaster::Broadcast(const SfxHint & rHint) Line 40 sfxlo.dll!`anonymous namespace'::SfxModelListener_Impl::notifyClosing(const com::sun::star::lang::EventObject & __formal) Line 154 sfxlo.dll!SfxBaseModel::close(unsigned char bDeliverOwnership) Line 1511 swlo.dll!SwXTextDocument::close(unsigned char bDeliverOwnership) Line 574 sfxlo.dll!SfxBaseModel::dispose() Line 745 swlo.dll!SwXTextDocument::dispose() Line 561 mscx_uno.dll!`anonymous namespace'::cpp_call(bridges::cpp_uno::shared::UnoInterfaceProxy * pThis, bridges::cpp_uno::shared::VtableSlot aVtableSlot, _typelib_TypeDescriptionReference * pReturnTypeRef, long nParams, _typelib_MethodParameter * pParams, void * pUnoReturn, void * * pUnoArgs, _uno_Any * * ppUnoExc) Line 214 mscx_uno.dll!unoInterfaceProxyDispatch(_uno_Interface * pUnoI, const _typelib_TypeDescription * pMemberTD, void * pReturn, void * * pArgs, _uno_Any * * ppException) Line 430 binaryurplo.dll!binaryurp::IncomingRequest::execute_throw(binaryurp::BinaryAny * returnValue, std::vector<binaryurp::BinaryAny,std::allocator<binaryurp::BinaryAny>> * outArguments) Line 239 binaryurplo.dll!binaryurp::IncomingRequest::execute() Line 79 binaryurplo.dll!request(void * pThreadSpecificData) Line 84 cppu3.dll!cppu_threadpool::JobQueue::enter(const void * nDisposeId, bool bReturnWhenNoJob) Line 101 cppu3.dll!cppu_threadpool::ORequestThread::run() Line 165 cppu3.dll!threadFunc(void * param) Line 190 sal3.dll!oslWorkerWrapperFunction(void * pData) Line 67 Main thread, doing an idle layout of the same document: emboleobj.dll!OleComponent::SetExtent(const com::sun::star::awt::Size & aVisAreaSize, __int64 nAspect) Line 1099 emboleobj.dll!OleEmbeddedObject::setVisualAreaSize(__int64 nAspect, const com::sun::star::awt::Size & aSize) Line 138 swlo.dll!SwWrtShell::CalcAndSetScale(svt::EmbeddedObjectRef & xObj, const SwRect * pFlyPrtRect, const SwRect * pFlyFrameRect, const bool bNoTextFramePrtAreaChanged) Line 777 swlo.dll!SwContentNotify::ImplDestroy() Line 926 swlo.dll!SwContentNotify::~SwContentNotify() Line 1037 swlo.dll!SwNoTextFrame::MakeAll(OutputDevice * pRenderContext) Line 584 swlo.dll!SwFrame::OptPrepareMake() Line 412 swlo.dll!SwFrame::OptCalc() Line 1110 swlo.dll!SwLayAction::FormatContent_(const SwContentFrame * pContent, const SwPageFrame * pPage) Line 1969 swlo.dll!SwLayAction::FormatFlyContent(const SwFlyFrame * pFly) Line 1994 swlo.dll!SwObjectFormatter::FormatObj_(SwAnchoredObject & _rAnchoredObj) Line 312 swlo.dll!SwObjectFormatterTextFrame::DoFormatObj(SwAnchoredObject & _rAnchoredObj, const bool _bCheckForMovedFwd) Line 133 swlo.dll!SwObjectFormatter::FormatObjsAtFrame_(SwTextFrame * _pMasterTextFrame) Line 414 swlo.dll!SwObjectFormatterTextFrame::DoFormatObjs() Line 348 swlo.dll!SwObjectFormatter::FormatObjsAtFrame(SwFrame & _rAnchorFrame, const SwPageFrame & _rPageFrame, SwLayAction * _pLayAction) Line 160 swlo.dll!SwLayAction::FormatContent(SwPageFrame * pPage) Line 1802 swlo.dll!SwLayAction::InternalAction(OutputDevice * pRenderContext) Line 607 swlo.dll!SwLayAction::Action(OutputDevice * pRenderContext) Line 390 swlo.dll!SwLayIdle::SwLayIdle(SwRootFrame * pRt, SwViewShellImp * pI) Line 2372 swlo.dll!SwViewShell::LayoutIdle() Line 827 swlo.dll!sw::DocumentTimerManager::DoIdleJobs(Timer * __formal) Line 176 swlo.dll!sw::DocumentTimerManager::LinkStubDoIdleJobs(void * instance, Timer * data) Line 156 vcllo.dll!Link<Timer *,void>::Call(Timer * data) Line 111 vcllo.dll!Timer::Invoke() Line 75 vcllo.dll!Scheduler::CallbackTaskScheduling() Line 509 vcllo.dll!SalTimer::CallCallback() Line 53 vclplug_winlo.dll!WinSalTimer::ImplHandleElapsedTimer() Line 169 vclplug_winlo.dll!ImplSalYield(bool bWait, bool bHandleAllCurrentEvents) Line 525 vclplug_winlo.dll!WinSalInstance::DoYield(bool bWait, bool bHandleAllCurrentEvents) Line 581 vcllo.dll!ImplYield(bool i_bWait, bool i_bAllEvents) Line 385 vcllo.dll!Application::Yield() Line 473 vcllo.dll!Application::Execute() Line 361 sofficeapp.dll!desktop::Desktop::Main() Line 1652 vcllo.dll!ImplSVMain() Line 229 vcllo.dll!SVMain() Line 262 sofficeapp.dll!soffice_main() Line 121 soffice.bin!sal_main() Line 51 soffice.bin!main(int argc, char * * argv) Line 49 soffice.bin!invoke_main() Line 79 soffice.bin!__scrt_common_main_seh() Line 288 soffice.bin!__scrt_common_main() Line 331 soffice.bin!mainCRTStartup(void * __formal) Line 17 Change-Id: I92102a9cd11ccde307b070ebc1984eb3d17d65bf Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171856 Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com> Tested-by: Jenkins
2024-08-14tdf#162458 doc export: don't change "margin" to "page"Justin Luth
I'm a little baffled at this code. The only thing I can imagine is that at some earlier time it converted TOP of PAGE_PRINT_AREA to FROM_TOP of PAGE. That at least was true of my example document in LO5.3, and I see similar things happening for horizontal. For vertical, in the case of FollowTextFlow, this is exactly backwards anyway, because MSO implements PAGE_FRAME as if it were PAGE_PRINT_AREA, which is the exact opposite of what we are doing here... For horizontal FTF, there doesn't need to be any adjustment. (see tdf#160077) DOC format knows about all 4 valid vertical positions (TOP/CENTER/BOTTOM/FROM_TOP), and all 4 valid horizontal positions (LEFT/CENTER/RIGHT/FROM_LEFT) and DOC format also knows about both hori and vert PAGE_PRINT_AREA, so there is no need to do any adjustment for "margin". For PAGE_FRAME it is irrelevant because that is what it sets anyway, so there is literally no change in that case. make CppunitTest_sw_ww8export CPPUNIT_TEST_NAME=testBnc787942 make CppunitTest_sw_ww8export \ CPPUNIT_TEST_NAME=testTextVerticalAdjustment Change-Id: I201966f00909d4a6e7fcd873582096da259c776d Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171842 Reviewed-by: Justin Luth <jluth@mail.com> Tested-by: Jenkins
2024-08-14use less exception throwing for flow controlNoel Grandin
Change-Id: I289f1a2204af02576a585392b7f428a5dc65cf1a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171850 Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> Tested-by: Jenkins
2024-08-14GetMarkStart/GetMarkEnd is hotNoel Grandin
when importing docs with lots of fieldmarks. But once we have computed the one, computing the other is essentially free, so instead of doing the computation twice, return both values when we need both Change-Id: Icdd9d4ed4cf1e6c9b26fdb20507c4f964f9e9f90 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171853 Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> Tested-by: Jenkins
2024-08-14tdf#162211 tdf#137590 layoutInCell: vertical escaping with wrapThroughJustin Luth
This patch allows shapes to go "from top" above the cell frame. (This was already working horizontally, and for positive, downward values). In theory, this should not be needed for ODT layout. ODT UI shouldn't allow cell-escaping values to be used. It does not currently affect FRAME/FRAME _shapes_ because those forcefully turn off layoutInCell, but it does affect FRAME/FRAME _images_ whose code path does not forcefully turn off layoutInCell. There are a few more places in the code where AdjustVertRelPos() is called, but most had no matching unit tests. I assume it is probably because we already don't CheckBottom. The following unit tests are affected by this patch PAGE/PAGE -tdf81345.docx (81345_045Original) [big green gradient - fixed] -tdf115883.docx [compat15 - miniscule .03cm offset] image - FRAME/FRAME -tdf135595_HFtableWrap_c12.docx [after round-trip - fixed] -tdf135595_HFtableWrap.odt [footer logo moves up - fixed] -layout-in-cell-2.docx [extremely minor offsets] make CppunitTest_sw_ooxmlexport14 \ CPPUNIT_TEST_NAME=testTdf135595_HFtableWrap These will be affected if layoutInCell is not forced off. shape - FRAME/FRAME -fdo68607.docx -test_segfault_while_save.docx [even zOrder is fixed somehow] -layout-in-cell-wrapnone-column.docx Change-Id: I13b030a2e7117557dd9794c0eb9bd74a0d67b82f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171436 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com> Reviewed-by: Justin Luth <jluth@mail.com>
2024-08-14tdf#158556 bypass some logic for toggle propertiesNoel Grandin
hardcode a direct route through most of the logic in SwXStyle. Shaves 20% off the load time. Change-Id: I52ae8b4e870e07893195ce2eaedcf9069dbcae8a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171815 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2024-08-14Resolves tdf#80054 - Customization for non-printable character colorHeiko Tietze
Change-Id: I82783a49d3a1c2096dcfa7c97a3fce14c555c988 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171814 Tested-by: Jenkins Reviewed-by: Heiko Tietze <heiko.tietze@documentfoundation.org>
2024-08-13use more concrete UNO type in writerfilterNoel Grandin
Change-Id: I9c4a71b1a32bf42ea54ca9f108ee22d4eabc205c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171470 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2024-08-13cid#1557699 COPY_INSTEAD_OF_MOVECaolán McNamara
and cid#1557696 COPY_INSTEAD_OF_MOVE cid#1557695 COPY_INSTEAD_OF_MOVE cid#1557690 COPY_INSTEAD_OF_MOVE cid#1557671 COPY_INSTEAD_OF_MOVE cid#1557661 COPY_INSTEAD_OF_MOVE cid#1557626 COPY_INSTEAD_OF_MOVE cid#1557624 COPY_INSTEAD_OF_MOVE cid#1557622 COPY_INSTEAD_OF_MOVE cid#1557618 COPY_INSTEAD_OF_MOVE cid#1557617 COPY_INSTEAD_OF_MOVE cid#1557607 COPY_INSTEAD_OF_MOVE cid#1557559 COPY_INSTEAD_OF_MOVE cid#1557538 COPY_INSTEAD_OF_MOVE Change-Id: I8bcd61f21e6b5284d641ff8c6bd09008c2458baf Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171837 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2024-08-13Fix SectionPropertyMap::ApplyProperties_Noel Grandin
after commit 1e8ace631fb8518cea3fdf94b54e73616d7229c5 Author: Noel Grandin <noelgrandin@gmail.com> Date: Fri Aug 9 12:38:54 2024 +0200 use more concrete UNO type in writerfilter where I forgot to remove unnecessary logic, so we ended up setting the properties twice Change-Id: Ie1e5aae3ff199c3bec4bf95b0d660461552acb60 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171827 Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> Tested-by: Jenkins
2024-08-13tdf#158556 flatten SwStyleBase_Impl a littleNoel Grandin
less pointer chasing Change-Id: I117880dcfaef730f1d19b6b3b4b1f5d8188e0c1c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171817 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2024-08-13tdf#158556 avoid unnecessary workNoel Grandin
in SwXStyle::PrepareStyleBase, which is called multiple times during getProperties(), but we only need to do the GetStyleSheetBase() the first time Change-Id: I18438f11402588e5172f6b1638769fc9ba0b1784 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171816 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2024-08-13Handle possible exceptions in SwView::ImpSetVerbMike Kaganski
This reportedly may crash on unhandled exception, with the following stack: KernelBase.dll!00007ffaa227fabc() [External Code] emboleobj.dll!OleComponent::GetVerbList() Line 1013 at D:\lo\embeddedobj\source\msole\olecomponent.cxx(1013) emboleobj.dll!OleEmbeddedObject::getSupportedVerbs() Line 1000 at D:\lo\embeddedobj\source\msole\oleembed.cxx(1000) swlo.dll!SwView::ImpSetVerb(SelectionType nSelType) Line 162 at D:\lo\sw\source\uibase\uiview\view.cxx(162) swlo.dll!SwView::SelectShell() Line 309 at D:\lo\sw\source\uibase\uiview\view.cxx(309) swlo.dll!SwView::AttrChangedNotify(LinkParamNone * __formal) Line 574 at D:\lo\sw\source\uibase\uiview\view.cxx(574) [Inline Frame] swlo.dll!Link<LinkParamNone *,void>::Call(LinkParamNone *) Line 111 at D:\lo\include\tools\link.hxx(111) swlo.dll!SwCursorShell::CallChgLnk() Line 2903 at D:\lo\sw\source\core\crsr\crsrsh.cxx(2903) swlo.dll!SwRootFrame::EndAllAction() Line 1941 at D:\lo\sw\source\core\layout\pagechg.cxx(1941) swlo.dll!UnoActionContext::~UnoActionContext() Line 212 at D:\lo\sw\source\core\unocore\unoobj2.cxx(212) swlo.dll!SwXFrame::setPropertyValue(const rtl::OUString & rPropertyName, const com::sun::star::uno::Any & _rValue) Line 1605 at D:\lo\sw\source\core\unocore\unoframe.cxx(1605) mscx_uno.dll!`anonymous namespace'::cpp_call(bridges::cpp_uno::shared::UnoInterfaceProxy * pThis, bridges::cpp_uno::shared::VtableSlot aVtableSlot, _typelib_TypeDescriptionReference * pReturnTypeRef, long nParams, _typelib_MethodParameter * pParams, void * pUnoReturn, void * * pUnoArgs, _uno_Any * * ppUnoExc) Line 214 at D:\lo\bridges\source\cpp_uno\msvc_win32_x86-64\uno2cpp.cxx(214) mscx_uno.dll!unoInterfaceProxyDispatch(_uno_Interface * pUnoI, const _typelib_TypeDescription * pMemberTD, void * pReturn, void * * pArgs, _uno_Any * * ppException) Line 430 at D:\lo\bridges\source\cpp_uno\msvc_win32_x86-64\uno2cpp.cxx(430) binaryurplo.dll!binaryurp::IncomingRequest::execute_throw(binaryurp::BinaryAny * returnValue, std::vector<binaryurp::BinaryAny,std::allocator<binaryurp::BinaryAny> > * outArguments) Line 239 at D:\lo\binaryurp\source\incomingrequest.cxx(239) binaryurplo.dll!binaryurp::IncomingRequest::execute() Line 79 at D:\lo\binaryurp\source\incomingrequest.cxx(79) binaryurplo.dll!request(void * pThreadSpecificData) Line 84 at D:\lo\binaryurp\source\reader.cxx(84) cppu3.dll!cppu_threadpool::JobQueue::enter(const void * nDisposeId, bool bReturnWhenNoJob) Line 101 at D:\lo\cppu\source\threadpool\jobqueue.cxx(101) cppu3.dll!cppu_threadpool::ORequestThread::run() Line 169 at D:\lo\cppu\source\threadpool\thread.cxx(169) cppu3.dll!threadFunc(void * param) Line 190 at D:\lo\include\osl\thread.hxx(190) sal3.dll!oslWorkerWrapperFunction(void * pData) Line 67 at D:\lo\sal\osl\w32\thread.cxx(67) Change-Id: Ifef15938c7986c4179d61cfa07973ad9b13d4ad4 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171823 Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com> Tested-by: Jenkins
2024-08-13fix null deref on fetching postit outlinerCaolán McNamara
Change-Id: I950c2c2e68090ad002401d3ff038dcd3d18e7da2 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171822 Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com> Tested-by: Jenkins
2024-08-13Move RTF control word data to where it's used, and make it constexprMike Kaganski
Change-Id: I188207b03dbe45cd353fcb751c90b6f9a1713133 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171807 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2024-08-13tdf#113803 Add Extended Tips for Page Sidebar DeckDione Maddern
Add accessible names and accessible descriptions to: - sw/uiconfig/swriter/ui/pagefooterpanel.ui - sw/uiconfig/swriter/ui/pageformatpanel.ui - sw/uiconfig/swriter/ui/pageheaderpanel.ui - sw/uiconfig/swriter/ui/pagestylespanel.ui In sw/uiconfig/swriter/ui/pagefooterpanel.ui - Moved footertoggle to its own row and changed the label to "Enable Footer" to make it clear that it does not affect the "Margins" dropdown. - Added a new label for the "Margins" dropdown. In sw/uiconfig/swriter/ui/pageheaderpanel.ui - Moved headertoggle to its own row and changed the label to "Enable Footer" to make it clear that it does not affect the "Margins" dropdown. - Added a new label for the "Margins" dropdown. Change-Id: I7880a249b534188ea4d981669bdfc969cacd5a5d Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171430 Reviewed-by: Michael Weghorn <m.weghorn@posteo.de> Reviewed-by: Olivier Hallot <olivier.hallot@libreoffice.org> Tested-by: Jenkins
2024-08-13UBSan CppunitTest_sw_writerfilter_misc needs the SwXTableRows nowStephan Bergmann
...presumably since 883febd60593e8a3c0c85c9859006cc0a35b10c2 "use more concrete UNO type in writerfilter", > DynamicLibraryManagerException: "Failed to load dynamic library: /home/tdf/lode/jenkins/workspace/lo_ubsan/workdir/LinkTarget/CppunitTest/libtest_sw_writerfilter_misc.so > /home/tdf/lode/jenkins/workspace/lo_ubsan/instdir/program/libsw_writerfilterlo.so: undefined symbol: _ZTI12SwXTableRows" (<https://ci.libreoffice.org//job/lo_ubsan/3273/>) Change-Id: I856ff7e2d7f31c83ad75b301caf4f8084f3e19a5 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171806 Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> Tested-by: Jenkins
2024-08-13Fix typoAndrea Gelmini
Change-Id: I0495b414fb542b92bdf0e2cde7fe1a010ab315f3 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171803 Reviewed-by: Julien Nabet <serval2412@yahoo.fr> Tested-by: Jenkins
2024-08-13Resolves tdf#162435 - TC author colors inherit anchor colorsHeiko Tietze
Fix to regression from I773793de8cfbdc0d23124db790604b93030375c2 * base color is now anchor, light/dark calculated as luminance * default colors adjusted respectively Change-Id: I9872a959d51714c736cd2adb216d76a0846aeec6 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171753 Reviewed-by: Heiko Tietze <heiko.tietze@documentfoundation.org> Tested-by: Jenkins
2024-08-13use less exception throwing for flow controlNoel Grandin
Change-Id: Ib125a5ab01891d4195544e489596c10e16fba3ee Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171808 Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> Tested-by: Jenkins
2024-08-13use more concrete UNO type in writerfilterNoel Grandin
Change-Id: Id21630fb997c11574b76f5c22de1a2a31d099d4f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171801 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2024-08-12cid#1606844 silence Overflowed array index readCaolán McNamara
Change-Id: I87a0489377b12b930b7aca45c5bf384f28da8ebd Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171761 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2024-08-12use more concrete UNO type in writerfilterNoel Grandin
Change-Id: Ibbb6faed161c110416a93236eeee6adfa9c2cd86 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171796 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2024-08-12Resolves: tdf#112932 Pressing enter in read-ony Table of ContentJim Raykowski
doesnt jump to heading Allows jump to heading using the Enter key or key modifier one in combination with the Enter key (Ctrl+Enter) when table of content is in protected mode. This changes the previous behavior of only allowing the Enter key to jump to the heading when the document is in read-only mode to also allowing key modifier one in combination with the Enter key to jump to the heading. Change-Id: Ib7451cef40d3ecf56295c2b23a6e663fad18fece Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171554 Reviewed-by: Heiko Tietze <heiko.tietze@documentfoundation.org> Tested-by: Jenkins Reviewed-by: Jim Raykowski <raykowj@gmail.com>
2024-08-12use more concrete UNO type in writerfilterNoel Grandin
Change-Id: I238cc9f5079dd7b3ca171b6a4b9da12534b53d23 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171734 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2024-08-12speedup lcl_FillAnnotationStartArrayNoel Grandin
we can binary search for the start position Change-Id: Id87d33a191b0a0dcda90aeb149a9e7da4dfd5d18 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171712 Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> Tested-by: Jenkins
2024-08-12SwContentIndex owner pointersNoel Grandin
we already have two things that "own" a SwContentIndex, for which we store a pointer in the SwContentIndex. I want to add more things, so rather than add more fields to a very heavily used structure, generalise the mechanism so we can store a single field (since only thing at a time will ever own a SwContentIndex). Also add an enum and a GetOwnerType() method so I can avoid dynamic_cast, this is a pretty performance-sensitive area. Change-Id: Ifb03a06b0bb69a325f41a8041e9d23cfc82c3268 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171606 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.stahl@allotropia.de> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2024-08-12use more concrete UNO type in writerfilterNoel Grandin
Change-Id: I307f83dc95be7d74ba0b847eb82cca42ac7dbbbd Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171727 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2024-08-12ofz#68761 Timeout when fuzzingCaolán McNamara
Change-Id: Id6612bb33550843a91eb99657d3526391fb44ddc Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171738 Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com> Tested-by: Jenkins
2024-08-12Fix typoAndrea Gelmini
Change-Id: Ia803e09bd581d3d21d2c1df1b9e3a29e219cce20 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171740 Tested-by: Julien Nabet <serval2412@yahoo.fr> Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2024-08-12prevent accessibility check from locking up the UINoel Grandin
there is probably a better approach, and there should be a UI warning that the list is truncated Change-Id: I6df11b16fee3ac6da38e47ac11b1cd0b29e2959d Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171725 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2024-08-11cid#1606900 silence bogus Overflowed integer argumentCaolán McNamara
Change-Id: I227775c53ed041539ea8c6ab80827c7a6cc1db02 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171735 Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com> Tested-by: Jenkins
2024-08-11cid#1558088 COPY_INSTEAD_OF_MOVECaolán McNamara
and cid#1558080 COPY_INSTEAD_OF_MOVE cid#1558077 COPY_INSTEAD_OF_MOVE cid#1558055 COPY_INSTEAD_OF_MOVE cid#1558043 COPY_INSTEAD_OF_MOVE cid#1558039 COPY_INSTEAD_OF_MOVE cid#1558015 COPY_INSTEAD_OF_MOVE cid#1558014 COPY_INSTEAD_OF_MOVE cid#1558009 COPY_INSTEAD_OF_MOVE cid#1558002 COPY_INSTEAD_OF_MOVE cid#1557998 COPY_INSTEAD_OF_MOVE cid#1557996 COPY_INSTEAD_OF_MOVE cid#1557990 COPY_INSTEAD_OF_MOVE cid#1557986 COPY_INSTEAD_OF_MOVE cid#1557980 COPY_INSTEAD_OF_MOVE cid#1557971 COPY_INSTEAD_OF_MOVE cid#1557968 COPY_INSTEAD_OF_MOVE cid#1557967 COPY_INSTEAD_OF_MOVE cid#1557961 COPY_INSTEAD_OF_MOVE cid#1557959 COPY_INSTEAD_OF_MOVE cid#1557958 COPY_INSTEAD_OF_MOVE cid#1557956 COPY_INSTEAD_OF_MOVE cid#1557953 COPY_INSTEAD_OF_MOVE cid#1557949 COPY_INSTEAD_OF_MOVE cid#1557947 COPY_INSTEAD_OF_MOVE cid#1557940 COPY_INSTEAD_OF_MOVE cid#1557931 COPY_INSTEAD_OF_MOVE cid#1557930 COPY_INSTEAD_OF_MOVE cid#1557915 COPY_INSTEAD_OF_MOVE cid#1557913 COPY_INSTEAD_OF_MOVE cid#1557910 COPY_INSTEAD_OF_MOVE cid#1557886 COPY_INSTEAD_OF_MOVE cid#1557884 COPY_INSTEAD_OF_MOVE cid#1557880 COPY_INSTEAD_OF_MOVE cid#1557875 COPY_INSTEAD_OF_MOVE cid#1557871 COPY_INSTEAD_OF_MOVE cid#1557862 COPY_INSTEAD_OF_MOVE cid#1557847 COPY_INSTEAD_OF_MOVE cid#1557845 COPY_INSTEAD_OF_MOVE cid#1557844 COPY_INSTEAD_OF_MOVE cid#1557843 COPY_INSTEAD_OF_MOVE cid#1557838 COPY_INSTEAD_OF_MOVE cid#1557835 COPY_INSTEAD_OF_MOVE cid#1557834 COPY_INSTEAD_OF_MOVE cid#1557828 COPY_INSTEAD_OF_MOVE cid#1557823 COPY_INSTEAD_OF_MOVE cid#1557817 COPY_INSTEAD_OF_MOVE cid#1557813 COPY_INSTEAD_OF_MOVE cid#1557812 COPY_INSTEAD_OF_MOVE Change-Id: I55d4a920daa2d148683419169eb828325fd3c757 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171732 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2024-08-11Resolves: tdf#145847 points only uses one decimal placeCaolán McNamara
while the other use two, and the assumption built in here seems to be that there will always be two decimal places Change-Id: I5718f220c521243b54eba8e19a86f4e86263b69e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171726 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2024-08-11tdf#162426: make sure to only output new tags after all attributes were writtenMike Kaganski
In commit 03fe839d6e76ed8b1dfb65093ab59a8904852ff6 (html export: rework image output to use HTML writer, 2014-09-22), optional export of linebreak tag was implemented in the end of SwHTMLWriter::writeFrameFormatOptions. But it is called in the middle of img arrtibutes output in OutHTML_ImageStart; so when br was output, all following img attributes got discarded. This makes writing the tag a separate function with appropriate name, which is called after all attributes are already written. Change-Id: I2a7df56e73150d93c565a7240c047b09f3336641 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171722 Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com> Tested-by: Jenkins
2024-08-11reduce dynamic_cast and SolarMutex overhead in sw UNO layerNoel Grandin
since we can pass the concrete type and avoid a bunch of unnecessary work Change-Id: Ic95e4b4306210a7c11ce70ad981c3dc5b979b402 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171719 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2024-08-11speedup sorting of marks in markmanagerNoel Grandin
when we modify them in ContentIdxStoreImpl, we typically only modify a tiny subset of the marks, so do a partial sort instead of fully sorting the array. Shaves 10% off the load time of a large docx with lots of fieldmarks and bookmarks Change-Id: Ia271e465fb71559b0d4da3242dc4a6e6f07ddc28 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171716 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2024-08-11Resolves tdf#61242 - Customization of comment background colorHeiko Tietze
* COL_AUTHOR<1..>_DARK/LIGHT/NORMAL removed Author1..9 added * dark variants calculated from light with 50% brightness * light does In/DecreaseLuminance(30) and dark (sd) resp. anchor (sw) In/DecreaseLuminance(80) depending on GetUseDarkMode() * sw: font color depends on outline background, which now picks up DOCCOLOR; this does not work for dark colors in light mode, for example * sd does not update on changes and requires a restart Change-Id: I773793de8cfbdc0d23124db790604b93030375c2 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171523 Reviewed-by: Heiko Tietze <heiko.tietze@documentfoundation.org> Tested-by: Jenkins
2024-08-10Revert "tdf#91632 doc import layoutInCell: vert page->margin, *->top"Justin Luth
This reverts commit 183f4e8f1b8dc405e3febd2f0a82769403730a4d. Reason for revert:build failures. Must be dependent on something the DOCX one is not dependent on. Change-Id: I81fe415c6ef82d7d100a2c7b99e47c49c4d6423e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171680 Reviewed-by: Justin Luth <jluth@mail.com> Tested-by: Jenkins
2024-08-10tdf#91632 doc import layoutInCell: vert page->margin, *->topJustin Luth
The same thing was done early in this series of patches for DOCX Microsoft's layoutInCell is very buggy for vertical orientation. So, instead of making our own implementation just as buggy, instead, alter the document so that the settings match the implementation. That way if MSO ever decides to re-fix layoutInCell, we are in a position to easily avoid the mapping to accommodate a new compat version. make CppunitTest_sw_ww8export4 \ CPPUNIT_TEST_NAME=testTdf91632_layoutInCellD Change-Id: I1a8ad18872ba7c0f08cc5dff517be6e6079e8b11 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171705 Tested-by: Jenkins Reviewed-by: Justin Luth <jluth@mail.com>
2024-08-09speedup lcl_storeAnnotationMarksNoel Grandin
we can binary search for the starting point, and we can exit the loop early Change-Id: Ia1ec208f097d3a20c4188968987be87129d4b659 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171707 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2024-08-09simplify makeAnnotationBookmarkNoel Grandin
it is always called with the same value for the MarkType parameter Change-Id: If82bb362c2c293e44c200994312ee45b35bc8a96 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171702 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2024-08-09cid#1556026 COPY_INSTEAD_OF_MOVECaolán McNamara
and cid#1556027 COPY_INSTEAD_OF_MOVE cid#1556030 COPY_INSTEAD_OF_MOVE cid#1556032 COPY_INSTEAD_OF_MOVE cid#1556036 COPY_INSTEAD_OF_MOVE cid#1556049 COPY_INSTEAD_OF_MOVE cid#1557490 COPY_INSTEAD_OF_MOVE Change-Id: If694c4d518323a8ae58bb13569f401b2b36cd427 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171704 Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com> Tested-by: Jenkins
2024-08-09simplifyNoel Grandin
Change-Id: I7d8e8b13166537d0e9c60ff0be01f680a817ca5c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171699 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2024-08-09make writerfilter redlines more type-safeNoel Grandin
and pass by const& to reduce copying Change-Id: I0f21f0b0f9430571292ed2ddabd7cd2b5cc2f093 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171694 Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> Tested-by: Jenkins
2024-08-09use more concrete UNO type in writerfilterNoel Grandin
Change-Id: I22b22eebdbff24389e1a4aecb5a089904483207e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171690 Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> Tested-by: Jenkins