summaryrefslogtreecommitdiff
path: root/svx
AgeCommit message (Collapse)AuthorFilesLines
2022-06-01The return value of those getLength functions is guaranteed to be non-negativeStephan Bergmann1-1/+2
...so use o3tl::make_unsigned when comparing it against an expression of unsigned integer type, instead of casting that expression to a signed type Change-Id: Ic47c6d96919b2aba2d16ce6d1a2a8e4c5761a480 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/135219 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2022-05-31Advanced Diagram support: UI visualization & simple interactionsArmin Le Grand (Allotropia)1-43/+317
Added visualization to show an imminently recognizable additional visualization for DynamicDiagrams that can also be used to show/hide the DiagramDialog by the user. It is also used as additional drag/move handle for the object. Change-Id: I56292cebe7c7a6f79be920c17edafdd7e453b6eb Reviewed-on: https://gerrit.libreoffice.org/c/core/+/135183 Tested-by: Jenkins Reviewed-by: Armin Le Grand <Armin.Le.Grand@me.com>
2022-05-30use more Primitive2DContainer::append and more std::moveNoel Grandin10-12/+12
Change-Id: Ide40a08f70cbb30a4f18c496d986feb78e5dfa1c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/135103 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2022-05-30use Primitive2DContainer in impPolygonParagraphHandlerNoel Grandin1-23/+17
which lets me move data around instead of copying Change-Id: Ibc7d8c2b5e0244537aa66561132facd93b424d61 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/135101 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2022-05-30elide temporary vectors in impAddPolygonStrokePrimitivesNoel Grandin1-29/+6
Change-Id: I759775bb672478f3baee782aba08ef17bd36124c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/135100 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2022-05-30move data out of impTextBreakupHandlerNoel Grandin1-9/+9
instead of copying Change-Id: I3f851b877ece609547eed6f772b2b8df57aeae96 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/135097 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2022-05-29Fix failing assert on shutdown with NVDA activeMike Kaganski1-9/+11
The stack trace at the moment of calling implLookupClient with nClient == -1 was: > ucrtbased.dll!abort() Line 61 C++ > 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 C++ > 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 C++ > ucrtbased.dll!_wassert(const wchar_t * expression, const wchar_t * file_name, unsigned int line_number) Line 444 C++ > comphelper.dll!`anonymous namespace'::implLookupClient(const unsigned long nClient, std::_Tree_iterator<std::_Tree_val<std::_Tree_simple_types<std::pair<unsigned long const ,comphelper::OInterfaceContainerHelper4<com::sun::star::accessibility::XAccessibleEventListener> *>>>> & rPos) Line 139 C++ > comphelper.dll!comphelper::AccessibleEventNotifier::addEvent(const unsigned long _nClient, const com::sun::star::accessibility::AccessibleEventObject & _rEvent) Line 249 C++ > svxlo.dll!accessibility::AccessibleTextHelper_Impl::FireEvent(const com::sun::star::accessibility::AccessibleEventObject & rEvent) Line 1416 C++ > svxlo.dll!accessibility::AccessibleTextHelper_Impl::FireEvent(const short nEventId, const com::sun::star::uno::Any & rNewValue, const com::sun::star::uno::Any & rOldValue) Line 1408 C++ > svxlo.dll!accessibility::AccessibleTextHelper_Impl::ShutdownEditSource() Line 700 C++ > svxlo.dll!accessibility::AccessibleTextHelper_Impl::SetEditSource(std::unique_ptr<SvxEditSource,std::default_delete<SvxEditSource>> && pEditSource) Line 717 C++ > svxlo.dll!accessibility::AccessibleTextHelper::SetEditSource(std::unique_ptr<SvxEditSource,std::default_delete<SvxEditSource>> && pEditSource) Line 1548 C++ > svxlo.dll!WeldEditAccessible::ClearWin() Line 552 C++ > svxlo.dll!WeldEditView::~WeldEditView() Line 864 C++ > smlo.dll!SmEditTextWindow::~SmEditTextWindow() Line 85 C++ > smlo.dll!SmEditTextWindow::`scalar deleting destructor'(unsigned int) C++ > smlo.dll!std::default_delete<SmEditTextWindow>::operator()(SmEditTextWindow * _Ptr) Line 3129 C++ > smlo.dll!std::unique_ptr<SmEditTextWindow,std::default_delete<SmEditTextWindow>>::reset(SmEditTextWindow * _Ptr) Line 3276 C++ > smlo.dll!SmEditWindow::DeleteEditView() Line 853 C++ > smlo.dll!SmEditWindow::~SmEditWindow() Line 139 C++ > smlo.dll!SmEditWindow::`scalar deleting destructor'(unsigned int) C++ > smlo.dll!o3tl::default_delete<SmEditWindow>::operator()(SmEditWindow * p) Line 46 C++ > smlo.dll!std::unique_ptr<SmEditWindow,o3tl::default_delete<SmEditWindow>>::reset(SmEditWindow * _Ptr) Line 3276 C++ > smlo.dll!SmCmdBoxWindow::dispose() Line 931 C++ > vcllo.dll!VclReferenceBase::disposeOnce() Line 39 C++ > sfxlo.dll!VclPtr<vcl::Window>::disposeAndClear() Line 206 C++ > sfxlo.dll!SfxChildWindow::~SfxChildWindow() Line 198 C++ > smlo.dll!SmCmdBoxWrapper::~SmCmdBoxWrapper() C++ > smlo.dll!SmCmdBoxWrapper::`scalar deleting destructor'(unsigned int) C++ > sfxlo.dll!SfxChildWindow::Destroy() Line 176 C++ > sfxlo.dll!SfxWorkWindow::DeleteControllers_Impl() Line 599 C++ > sfxlo.dll!SfxFrame::DoClose_Impl() Line 133 C++ > sfxlo.dll!SfxBaseController::dispose() Line 981 C++ > 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 1485 C++ > fwklo.dll!`anonymous namespace'::XFrameImpl::close(unsigned char bDeliverOwnership) Line 1696 C++ > fwklo.dll!framework::Desktop::impl_closeFrames(bool bAllowUI) Line 1702 C++ > fwklo.dll!framework::Desktop::terminate() Line 214 C++ > fwklo.dll!framework::CloseDispatcher::implts_terminateApplication() Line 543 C++ > fwklo.dll!framework::CloseDispatcher::impl_asyncCallback(LinkParamNone * __formal) Line 397 C++ > fwklo.dll!framework::CloseDispatcher::LinkStubimpl_asyncCallback(void * instance, LinkParamNone * data) Line 245 C++ > vcllo.dll!Link<LinkParamNone *,void>::Call(LinkParamNone * data) Line 111 C++ > vcllo.dll!vcl::EventPoster::DoEvent_Impl(void * __formal) Line 53 C++ > vcllo.dll!vcl::EventPoster::LinkStubDoEvent_Impl(void * instance, void * data) Line 48 C++ > vcllo.dll!Link<void *,void>::Call(void * data) Line 111 C++ > vcllo.dll!ImplHandleUserEvent(ImplSVEvent * pSVEvent) Line 2232 C++ > vcllo.dll!ImplWindowFrameProc(vcl::Window * _pWindow, SalEvent nEvent, const void * pEvent) Line 2800 C++ > vcllo.dll!SalFrame::CallCallback(SalEvent nEvent, const void * pEvent) Line 308 C++ > vclplug_winlo.dll!ImplHandleUserEvent(HWND__ * hWnd, __int64 lParam) Line 4214 C++ > vclplug_winlo.dll!SalFrameWndProc(HWND__ * hWnd, unsigned int nMsg, unsigned __int64 wParam, __int64 lParam, bool & rDef) Line 5865 C++ > vclplug_winlo.dll!SalFrameWndProcW(HWND__ * hWnd, unsigned int nMsg, unsigned __int64 wParam, __int64 lParam) Line 5972 C++ > user32.dll!UserCallWinProcCheckWow() Unknown > user32.dll!DispatchMessageWorker() Unknown > vclplug_winlo.dll!ImplSalDispatchMessage(const tagMSG * pMsg) Line 475 C++ > vclplug_winlo.dll!ImplSalYield(bool bWait, bool bHandleAllCurrentEvents) Line 506 C++ > vclplug_winlo.dll!WinSalInstance::DoYield(bool bWait, bool bHandleAllCurrentEvents) Line 581 C++ > vcllo.dll!ImplYield(bool i_bWait, bool i_bAllEvents) Line 474 C++ > vcllo.dll!Application::Yield() Line 559 C++ > vcllo.dll!Application::Execute() Line 452 C++ > sofficeapp.dll!desktop::Desktop::Main() Line 1600 C++ > vcllo.dll!ImplSVMain() Line 202 C++ > vcllo.dll!SVMain() Line 235 C++ > sofficeapp.dll!soffice_main() Line 94 C++ > soffice.bin!sal_main() Line 51 C > soffice.bin!main(int argc, char * * argv) Line 49 C Firing the event when we already set the id to mean "revoked" seems wrong. Also use the correct type for the id. Change-Id: Ie2e180c0c8c112023f789968ffa785f046de9d76 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/135058 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2022-05-28use the new SfxWhichIter::GetItemState featureNoel Grandin12-16/+17
to speed up other places that are iterating over SfxItemSets Change-Id: I646bae12420d15e67effdd279e071cdf8a8afffd Reviewed-on: https://gerrit.libreoffice.org/c/core/+/135075 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2022-05-26tdf#149324 sw offapi xmloff: add option to not hyphenate short wordsLászló Németh1-4/+5
Add paragraph property to disable automatic hyphenation of short words based on a minimum character count. Note: there is a (broken) global option for Minimum Word Length at hyphenation, see "Minimal number of characters for hyphenation" in Tools->Options->Language Settings->Writing Aids), but for better/comfortable paragraph-level adjustment of typesetting, add a paragraph property for it. The same option is available e.g. in Adobe InDesign and in CSS Text Module Level 4 (hyphenate-limit-chars). * Add checkbox to Text Flow in paragraph dialog * Store property in paragraph model (com::sun::star::style::ParagraphProperties::ParaHyphenationMinWordLength) * Add ODF import/export * Add ODF unit test * Add layout test Follow-up to commit 8c018910ae4d8701b1ce2a95727b9baed4016da3 "tdf#149248 sw offapi xmloff: add option to not hyphenate last word". Change-Id: I68715f47d17b5c022430bd0e74c88a97bc7f81f9 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/135028 Tested-by: Jenkins Reviewed-by: László Németh <nemeth@numbertext.org>
2022-05-26cid#1504575 Dereference before null checkCaolán McNamara1-1/+1
since... commit 8b4b852a35149b1cfffc681cbb4f57d4c0b671b3 Date: Mon May 23 15:48:41 2022 +0200 Advanced Diagram support: Isolated IDiagramHelper, selection visualization we've already defered pGrp can just drop that check Change-Id: I2b36a5fdc7e49ba1a8d4be5df910be0392bb7960 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/135019 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2022-05-26sd theme: add UI (sidebar) for shape fill color effectsMiklos Vajna1-1/+1
Which was perhaps the last missing piece of the "sd theme: shape fill color" story. Change-Id: Ice75d91412aa56afe0c9995086097d491ebf7299 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/134952 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2022-05-25elide some OUString allocationNoel Grandin1-1/+2
Change-Id: Idcb296980ea498373a0fb4f8c0c584eef2c5c9f7 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/134922 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2022-05-25Fix typoAndrea Gelmini1-1/+1
Change-Id: Ia3d5775b938d626457ac4701a5d62f7b7e4162e5 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/134939 Tested-by: Julien Nabet <serval2412@yahoo.fr> Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2022-05-2550 null derefs seen in crashreporting reportCaolán McNamara1-2/+8
Change-Id: I42f1179ad1d60ac70ccda5362590853a69fd3712 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/134931 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2022-05-25svx: fix one more EXCEPTION_INT_DIVIDE_BY_ZEROXisco Fauli1-1/+3
See https://crashreport.libreoffice.org/stats/signature/SvxShowCharSet::PixelToMapIndex(Point%20const%20&) Change-Id: Ied5698fd47220fae54d72be263c3eeed5fb77911 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/134890 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2022-05-25Advanced Diagram support: Isolated IDiagramHelper, selection visualizationArmin Le Grand (Allotropia)10-30/+190
Moved and isolated IDiagramHelper to own file to get SdrObjGroup smaller and less dependent again, all places adapted. isDiagram() now available at SdrObject directly, adapted and have less places which need to cast for SdrObjGroup for check. Started to add SdrHdl/selection visualization to seleced Diagram. Only as a start, will need to be extended to look good/better, plus evtl. functionality in handles/UI. Corrected error(s) found by failing UnitTests More clang-notes (static, namespace) I nneeded to follow Change-Id: If4675b3270d3ee30259fce49deb017dbbaf5c0c4 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/134825 Tested-by: Jenkins Reviewed-by: Armin Le Grand <Armin.Le.Grand@me.com>
2022-05-25SvxUnoXPropertyTable is never passed a null ptrNoel Grandin9-57/+42
and make the type of the constructor functions more precise to avoid unnecessary UNO_QUERY at the call site Change-Id: I8164fd3df131720cf86eaf6d49735a3157d3cc97 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/134914 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2022-05-24Resolves: tdf#148168 disable gtk treeview seach boxCaolán McNamara1-0/+1
Change-Id: I63691d86084832e89d248527c214bcdcc98dc3fb Reviewed-on: https://gerrit.libreoffice.org/c/core/+/134878 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2022-05-24Use o3tl::make_unsigned in some placesStephan Bergmann3-5/+6
...where a signed and an unsigned value are compared, and the signed value has just been proven to be non-negative here Change-Id: I20600d61a5d59d739bc1bee838c0038e4611aec2 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/134875 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2022-05-24modernize and improve PropertySetInfoNoel Grandin2-6/+2
(*) use o3tl::span for the array param, which means we don't need a null entry to terminate the array (*) use std::unordered_map to speed things up (*) mark the array as static at a few more call sites Change-Id: I05b6cae7552f44459e183ec05cb94e60edb3bfe0 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/134832 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2022-05-24tdf#148168 set built-in gtk search box to search "document name" columnCaolán McNamara1-1/+1
rather than column 0 which is used for icons Change-Id: Idef015e575fe6a4f76ad0cc67481ca8454a07206 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/134830 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2022-05-24elide some OUString allocationNoel Grandin1-4/+6
Change-Id: Iacbf1da6cdc77466d9f9da399b5cc17f5a87f0ed Reviewed-on: https://gerrit.libreoffice.org/c/core/+/134833 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2022-05-24tdf#149252 adjust vertical/horizontal positioning labels for paragraphsSeth Chaiklin1-2/+2
The Position dialog for objects (shapes, images, frames, OLE objects) used "Margin" in the Vertical position dialog and "Paragraph area" in the Horizontal position dialog. They refer to the same region, so their labels are now unified as "Entire paragraph area", to differentiate it from "Paragraph text area", to better specify the nature of the region, and to make it more parallel to "Entire page" and "Entire frame" options. Only the labels are changed. No change to the underlying functionality. Change-Id: Ic999b85c863b0f08da9f2c74ff33f65dd085dda2 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/134785 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2022-05-23elide some OUString allocationNoel Grandin1-5/+10
Change-Id: I5f0b9057b86ec98b66b4ce2d6c681b8cb93d49e1 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/134802 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2022-05-23svx: work around GCC12 spurious -Werror=stringop-overflowMichael Stahl1-0/+1
/usr/include/c++/12/bits/stl_algobase.h:431:30: error: ‘void* __builtin_memcpy(void*, const void*, long unsigned int)’ writing 1 or more bytes into a region of size 0 overflows the destination [-Werror=stringop-overflow=] Change-Id: Ib581b5788ff5d363b688000e700a42074c3b78eb Reviewed-on: https://gerrit.libreoffice.org/c/core/+/134740 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
2022-05-19svx: fix double-free if SvxShape of SwDrawVirtObj is disposedMichael Stahl1-5/+4
First SvxShape::dispose() deletes it, then ~SwDrawFrameFormat() via ~SwDrawContact() calls SwDrawContact::RemoveAllVirtObjs() and deletes it again. Back in 2009, CWS dba32 (60698c8a619f219129dbeac7da1f962f3fa63f6a) added this OSL_ENSURE, let's actually try to fix this now. Change-Id: I5c391aa425aa75fb87cecccbf9e41c9f90196f9f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/134609 Reviewed-by: Michael Stahl <michael.stahl@allotropia.de> Tested-by: Jenkins
2022-05-19tdf#148923 PPTX import: fix incorrect image in media fileTünde Tóth1-1/+3
Linked media file was imported with incorrect image, if the Impress couldn't play the media file. Regression from commit 9564747d2fd5d2c859a359dd7fa6242c6859c0d7 (tdf#53970 PPTX: fix import of linked media files). Change-Id: Ib277a61e83c3794376d2c090b7f742707e779832 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/134394 Tested-by: Jenkins Tested-by: László Németh <nemeth@numbertext.org> Reviewed-by: László Németh <nemeth@numbertext.org>
2022-05-17elide some OUString allocation and re-arrange GetCustomShapeEngineNoel Grandin1-6/+10
so we check if we have a shape before we try to do any work Change-Id: I9496e6fd38d7d7f312226791b942190c56e9d34e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/134398 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2022-05-16tdf#149049 give media object a name when createdJim Raykowski1-0/+4
so it is shown in the Navigator Change-Id: Ia4e9c847a1a8cfbaa3465f1472d4b899f4bde3fa Reviewed-on: https://gerrit.libreoffice.org/c/core/+/134334 Tested-by: Jenkins Reviewed-by: Jim Raykowski <raykowj@gmail.com>
2022-05-14Fix typoAndrea Gelmini1-2/+2
Change-Id: If7581fbc808b985cbf6d81a2e66571ddc465f16e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/134320 Tested-by: Jenkins Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2022-05-14skip some SetResizeProtect work during constructionNoel Grandin1-1/+1
unnecessary to do all the work of firing ActionChanged etc at this stage Change-Id: I20aad96e16d7a1ae5176e868d3699080aa0bf6a4 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/134304 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2022-05-13Advanced Diagram support: Secure Redo, evtl. flush Redo-StackArmin Le Grand (Allotropia)1-0/+41
Change-Id: Iade4ea85289377774e51671f1e9848c19d757633 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/134245 Tested-by: Jenkins Reviewed-by: Armin Le Grand <Armin.Le.Grand@me.com>
2022-05-13add SvStream::ReadLine(OStringBuffer... to reduce OString allocationNoel Grandin1-6/+6
and use it where possible Change-Id: I3efc7a642f73661ce606c917c0323ba9948521c6 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/134265 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2022-05-11tdf#121740 just remove OLE_Objects limit for non-32-bit-WindowsNoel Grandin1-0/+8
shaves 5% off load time Change-Id: I1893180124ebe86babff1776d77a696ef1e4a190 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/134202 Tested-by: Noel Grandin <noel.grandin@collabora.co.uk> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2022-05-11tdf#149023 set property immediately on changeCaolán McNamara1-7/+3
and not in an idle which may be triggered on losing focus and arrive when a new shape is selected Change-Id: I7cec8f1c9bf864cdb30516dece1ef9d6b689a94e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/134171 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2022-05-11Advanced Diagram support: UNDO/REDO support for Diagram DataModelArmin Le Grand (Allotropia)2-0/+80
Added support for UNDO/REDO for changes in Diagram ModelData. This is currenly applied/used in the DiagramDialog for it's Add/Remove actions (also supports Cancel of that dialog 1st time ever). But it is defined more general to add/support manipulating actions like clone/change_text etc. Also the UI/dialog at he end will not be/stay modal, so this is a test implemenation how to use it. It uses an extract/apply mechanism to get/set the Diagram ModelData at/for the UNDO action. That may be expanded as needed for additional data in he future. It may also be considered to modify the Connection/Point ModelData to shared_ptr internally completely to avoid copying these at all. OTOH it is not that much data to handle at all. Change-Id: I4702ed908b79a476177fe66c0e3284898c6adda5 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/134118 Tested-by: Jenkins Reviewed-by: Armin Le Grand <Armin.Le.Grand@me.com>
2022-05-11avoid some OUString construction on some hot pathsNoel Grandin1-10/+19
Change-Id: I098b017d22b7a4502998a0901ddcfca08a57ee43 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/134115 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2022-05-10tdf#148519 correction to vertical "to frame" mapping for object positionSeth Chaiklin1-1/+1
The mapping for the anchor to frame was incorrect, possibly inherited from OOo. (Thanks to Regina Henschel for identifying this problem.) This patch changes the mapping and reverts 2c19246a4090df14e8f97c35c7770b25c1974232, which had attempted to correct the problem of what options were shown in the UI for Vertical Position for objects that are anchored "to frame". Change-Id: I30c35475a38824ebc1f926bf63542d19bdf008d4 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/133871 Tested-by: Jenkins Reviewed-by: Seth Chaiklin <sdc.blanco@youmail.dk>
2022-05-10Fix stack-use-after-scopeStephan Bergmann1-1/+1
...during CppunitTest_chart2_export, > [_RUN_____] testStrict::Load_Verify_Reload_Verify [...] > ==20402==ERROR: AddressSanitizer: stack-use-after-scope on address 0x7f220d8280d0 at pc 0x7f21a71c55cb bp 0x7ffc70fff650 sp 0x7ffc70fff648 > READ of size 8 at 0x7f220d8280d0 thread T0 > #0 0x7f21a71c55ca in sdr::contact::ViewObjectContact::getPrimitive2DSequence(sdr::contact::DisplayInfo const&) const /svx/source/sdr/contact/viewobjectcontact.cxx:361:22 > #1 0x7f21a71c440f in sdr::contact::ViewObjectContact::getObjectRange() const /svx/source/sdr/contact/viewobjectcontact.cxx:199:78 > #2 0x7f21a71c33f7 in sdr::contact::ViewObjectContact::~ViewObjectContact() /svx/source/sdr/contact/viewobjectcontact.cxx:165:9 > #3 0x7f21a71d0af8 in sdr::contact::ViewObjectContactOfSdrObj::~ViewObjectContactOfSdrObj() /svx/source/sdr/contact/viewobjectcontactofsdrobj.cxx:51:1 > #4 0x7f21a70b6d08 in sdr::contact::ViewObjectContactOfGroup::~ViewObjectContactOfGroup() /svx/source/sdr/contact/viewobjectcontactofgroup.cxx:40:9 > #5 0x7f21a70b6d58 in sdr::contact::ViewObjectContactOfGroup::~ViewObjectContactOfGroup() /svx/source/sdr/contact/viewobjectcontactofgroup.cxx:39:9 > #6 0x7f21a71315e1 in sdr::contact::ObjectContact::~ObjectContact() /svx/source/sdr/contact/objectcontact.cxx:68:9 > #7 0x7f21a71e7108 in sdr::contact::ObjectContactPainter::~ObjectContactPainter() /svx/source/sdr/contact/objectcontactofobjlistpainter.cxx:43:1 > #8 0x7f21a71e77fc in sdr::contact::ObjectContactOfObjListPainter::~ObjectContactOfObjListPainter() /svx/source/sdr/contact/objectcontactofobjlistpainter.cxx:69:1 > #9 0x7f21a89793c1 in (anonymous namespace)::GraphicExporter::GetGraphic((anonymous namespace)::ExportSettings const&, Graphic&, bool) /svx/source/unodraw/UnoGraphicExporter.cxx:959:13 [...] > Address 0x7f220d8280d0 is located in stack of thread T0 at offset 4304 in frame > #0 0x7f21a896d04f in (anonymous namespace)::GraphicExporter::GetGraphic((anonymous namespace)::ExportSettings const&, Graphic&, bool) /svx/source/unodraw/UnoGraphicExporter.cxx:592 > > This frame has 89 object(s): [...] > [4304, 4320) 'aCheckVisibilityRedirector' (line 955) <== Memory access at offset 4304 is inside this variable (<https://ci.libreoffice.org/job/lo_ubsan/2394/>), presumably since db6c5c7f9dddd81a8f18a74d6051555680837adc "svx: calculate object range before using it" Change-Id: I77d56be1ca6bf16a0f5aa65cc1130547ae2fbf04 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/134103 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2022-05-09svx: calculate object range before using itPranam Lashkari1-3/+3
Change-Id: I01f0176542e9d6f36a2f7bbc870a9e337705a5a6 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/133454 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Szymon Kłos <szymon.klos@collabora.com> (cherry picked from commit b604f17732b0b31d69781f812357d34f3da7175d) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/133486 Tested-by: Jenkins Reviewed-by: Pranam Lashkari <lpranam@collabora.com>
2022-05-07tdf#107765: Check the updated language and apply it to the cell.Kohei Yoshida1-1/+1
During the normal spell-checking in Calc, the user may change the language on the string segment with a spelling error, which is supposed to be applied back to that segment in the cell, but was not. This change should fix it. In case the new language is applied to the entire cell string, we will set the new lanuage to the cell as a cell attribute and keep the string as a simple string. Otherwise, the new language gets applied to the edit engine string. This commit also changes the return value of EditEngine::GetLanguage() to include the string span information in addition to the language value. Change-Id: I713ec7aefe571f721321cd8ea687f616ab4dd61a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/133966 Tested-by: Jenkins Reviewed-by: Kohei Yoshida <kohei@libreoffice.org>
2022-05-06avoid some ref-countingNoel Grandin1-1/+1
Change-Id: I11465f139044bc75085d1bb9a5f207889356ee58 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/133961 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2022-05-06svx: move SvxTableShape into own file and externalizeTomaž Vajngerl3-17/+2
Change-Id: I0c4b37ebafa56ed50286bdcec1f2a8d5e1362f8d Reviewed-on: https://gerrit.libreoffice.org/c/core/+/133918 Tested-by: Tomaž Vajngerl <quikee@gmail.com> Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2022-05-05tdf#148707 implicit moveTo on all not only on firstRegina Henschel3-12/+35
The current solution checks implicit moveTo only on the first arc in a sequence of arcs. The patch moves it into the loop, so that the implicit moveTo is done for each command in a sequence. Change-Id: I400fa8fc96d7377ede55296c71e7a82ce891cc24 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/133896 Tested-by: Jenkins Reviewed-by: Regina Henschel <rb.henschel@t-online.de>
2022-05-05loplugin:unusedvariableplusNoel Grandin1-1/+0
Change-Id: Id93086be1224b6f6bf0bdaa1d50b4f289099027e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/133876 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2022-05-05tdf#148818 Fix missing text in boxes with empty first paragraphHossein1-4/+5
Text was lost from the text boxes with empty first paragraph. The problem was happening when there was 2 paragraphs in a text box, in which the first paragraph was completely empty. The regression was introduced in cf2449aac0141711a7610d67f7c50cd108e12443 because of the bad handling of the paragraphs, and only looking at the size of the text of the first paragraph. This is fixed by looking at mpOutliner->GetEditEngine().GetTextLen(i) for all i=1..k where k=min(2,mpOutliner->GetParagraphCount()). I have negated the condition to provide a better explanation of what the condition should be. Change-Id: Id5d8787df5111c734760afdd98a6fbe832047f32 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/133527 Tested-by: Jenkins Reviewed-by: Hossein <hossein@libreoffice.org>
2022-05-05use more o3tl::getTokenNoel Grandin1-2/+3
found by inspecting call sites of OUString::getToken Change-Id: I4269c7476c7aa46fac39528227e350568f0eb34a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/132644 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2022-05-05tdf#148921 Smartart: Incorrect Text positionNoel Grandin1-8/+21
Revert commit b6fe3b13206eee0543ded37c3a1566add284e6da. no need to have two weak references to SdrObject in SvxShape Change-Id: Ie29d0002fd86226eb7634f621b43e7cb8dfc8aa0 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/133833 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2022-05-05sd theme: add ODP import/export for shape fill color effectsMiklos Vajna2-0/+32
Map a themed color with effects to: <style:graphic-properties draw:fill-color="..." loext:fill-theme-color="..." loext:fill-color-lum-mod="..." loext:fill-color-lum-off="..."> Change-Id: I18d8ddf8d6050ef468a8d67a9e797a576f682e85 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/133843 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2022-05-03Just use Any ctor instead of makeAny in svxStephan Bergmann61-247/+243
Change-Id: I59b1b3f817a9028f132456ea5094f38f88674d00 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/133768 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>