summaryrefslogtreecommitdiff
path: root/include
AgeCommit message (Collapse)Author
2020-01-08weld LinePropertyPanelCaolán McNamara
Change-Id: If4ff18c3d312d273e9d28aeef97db053f56007ca Reviewed-on: https://gerrit.libreoffice.org/c/core/+/86309 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2020-01-08AreaPropertyPanelBase::Initialize not called in chart sidebarCaolán McNamara
AreaPropertyPanelBase::Initialize used to be called twice in the "normal" sidebar, the effort in commit 40fe5b93bc0838e04b46bfc7942d1ee6a2482ce0 Author: Caolán McNamara <caolanm@redhat.com> Date: Thu Jan 2 14:45:32 2020 +0000 weld AreaPropertyPanel to get it called once in the normal case caused it to get called 0 times in the chart case, fix it to get called once in either case Change-Id: I2c4acffb58ed3b45e86e3bf0ce91db52989a0e25 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/86356 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2020-01-07expand out namespace macrosNoel Grandin
Change-Id: Ifbcffa0315d0505b919703b82fee842be5aa0296 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/86237 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2020-01-07Use virtual method instead of switch in parent classAdrien Ollier
Change-Id: I53129ed6b57eb13898a426de0a2ba72c7d6674de Signed-off-by: Adrien Ollier <adr.ollier@hotmail.fr> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/83825 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2020-01-07arrow in sidebar not getting reenabled on changing contextCaolán McNamara
possibly since... commit 5b77d17c4f1ca734babf962b45c1aa07bdca14e9 Date: Sat Jan 4 18:09:20 2020 +0000 sidebar: allow panels to lurk around instead of being disposed. Change-Id: I4d3085a1bd0ceb5f04dba3e49c801df05b795061 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/86332 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2020-01-06Revert "sfx2: sidebar: new .uno commands to show and hide sidebars"Michael Meeks
This reverts commit b6f4d3b92789e972d9b079a5561723f3e73e07a6. These are now handled as LOK pseudo-uno commands internally, and seem unlikely to have worked. Retains a small change to SidebarDockingWindow.. Change-Id: I861f46f0c9b5cf39a5aa0a0de0fc2f33de800cb2 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/86293 Tested-by: Jenkins Reviewed-by: Michael Meeks <michael.meeks@collabora.com>
2020-01-06sidebar: allow panels to lurk around instead of being disposed.Michael Meeks
Creating and destroying sidebar panels is done remarkably often - on changes of context eg. The process is remarkably expensive - loading UI XML files, processing them etc. and is un-necessary. Instead let panels lurk around for future use - particularly in the Properties deck which gets the most thrash. This gives a big speedup particularly noticable on mobile where it could take several seconds to load switch between panels for eg. shape vs. slide properties when tapping to edit text. Change-Id: I497e77432c11bbd1e35a8a8716519cabc3730e61 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/86233 Tested-by: Michael Meeks <michael.meeks@collabora.com> Reviewed-by: Michael Meeks <michael.meeks@collabora.com> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/86287 Tested-by: Jenkins
2020-01-06weld AreaPropertyPanelCaolán McNamara
Change-Id: I5f4c4b43067b99cd57f8ea941002481ef5977e09 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/86144 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2020-01-06tdf#129708 speed-up: check if we could create outline instead of creation of itSerge Krot
Change-Id: I0629b4e6ccae4ab9be0142fe39c627f2f9a8f5ea Reviewed-on: https://gerrit.libreoffice.org/c/core/+/86199 Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> Tested-by: Jenkins Reviewed-by: Thorsten Behrens <Thorsten.Behrens@CIB.de>
2020-01-06Don't crash on exiting print preview with NotebookbarMike Kaganski
Crash caused by this sequence (tested in Writer): 1. Closing print preview, frame is attached to controller; 2. This calls SfxNotebookBar::StateMethod 3. There notebookbar's listener is added to list of the controller's context change event listeners 4. Then in SwPagePreview::~SwPagePreview, notebookbar's listener is added to that list again 5. ContextChangeEventMultiplexer::addContextChangeEventListener detects second addition, and throws an unhandled exception. I don't know why starting listening is needed in SwPagePreview dtor; unfortunately commit d05b7b32d9ecb6fcb4a268eb68cdcee09bafa6dd doesn't say much about context and reasons. ControlListener is renamed to ControlListenerForCurrentController to emphasize that it operates on the current controller of notebookbar's frame; and its bListen parameter meaning was reverted: previously its "true" value awkwardly meant "stop listening". All direct operations with listener of notebookbar are replaced with calls to notebookbar's methods. In ContextChangeEventMultiplexer::addContextChangeEventListener, uno::UNO_QUERY_THROW was replaced with uno::UNO_QUERY, because not only chart controller may appear here, and it's not an error: e.g. SfxBaseController doesn't implement lang::XServiceInfo. Regression after commit d05b7b32d9ecb6fcb4a268eb68cdcee09bafa6dd. Change-Id: Ief1aed188d8f02a6cfe3ea25f4d082dfdf449f32 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/86257 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2020-01-06Display menu item keyboard shortcuts in toolbar menuJim Raykowski
Change-Id: I288d4850f9a8e9ac51dfefddff7a2a7d359178c3 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/85832 Tested-by: Jenkins Reviewed-by: Ilmari Lauhakangas <ilmari.lauhakangas@libreoffice.org> Reviewed-by: Jim Raykowski <raykowj@gmail.com>
2020-01-04drawinglayer: extract classes from baseprimitive2d.hxx to own filesTomaž Vajngerl
This extracts Primitive2DContainer class to its own file, common typedefs for PrimitiveReference, Primitive2DSequence to own file CommonTypes.hxx, some commonly used and independent functions to Tools.hxx. But for not BufferedDecompositionPrimitive2D class is left as it is. Change-Id: Ia55bafd32fb95eba945d091e2c2ae89b160140d3 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/86086 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2020-01-04tdf#125662: disable parallel-zip if the memory...Dennis Francis
required to carry it out will cause a breach of addressable memory limit. This can happen in 32bit OSes, where the physical memory limit is more than the process addressable memory limit. For example in Win32, a process can address only upto 2GB. More specifically, avoid using ZipOutputEntryParallel which rougly needs twice the memory compared to its counterparts. Change-Id: I4d1abbf75e928188bcf806fcf1e5872b1e51b502 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/84394 Tested-by: Jenkins Reviewed-by: Dennis Francis <dennis.francis@collabora.com>
2020-01-03cid#1456610 Uninitialized scalar fieldCaolán McNamara
Change-Id: Ibd0d2e9f8a8ca778e68b6f4e5d93c1cc2536f032 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/86178 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2020-01-03drawinglayer: simplify namespaces in BasePrimitive filesTomaž Vajngerl
Non-functional change Change-Id: I2ef0012274a0ad3b6e576eeab1fa923ef7bd8b6d Reviewed-on: https://gerrit.libreoffice.org/c/core/+/86079 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2020-01-02PaperSizeListBox is now unusedCaolán McNamara
Change-Id: I0ce2fbb7f0346f55984a419f741319690a209434 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/86121 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2020-01-02weld SlideBackgroundCaolán McNamara
Change-Id: I6f8792d8212807b4be4a24885e237290e298dfa6 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/86120 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2020-01-02remove unused GetI18nNumbering variantCaolán McNamara
Change-Id: Iedf17b5a25bb7c41ebb1f19b06a1d839f7b08ca7 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/86083 Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2020-01-02PageNumberListBox is now unusedCaolán McNamara
Change-Id: I2d1c070cb54ca3596eb7f5b07b46f5aa98565633 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/86082 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2020-01-02sidebar: bring new sidebar commands in-house & be more assertive with sfx2Michael Meeks
Force the sidebar to do it's asynchronous things synchronously to help keep things sane. Also emit our (in-process on Android / iOS) context change notification after everyone else got it & updated their panels. Change-Id: If94de6c83f1b783d7deee515fc2ee9a8d3754765 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/86088 Tested-by: Jenkins Reviewed-by: Michael Meeks <michael.meeks@collabora.com>
2020-01-02tdf#129712: check if outliner view pointer is valid to avoid crashMike Kaganski
Regression after commit 64233bbaa0e91ddf14d59ae7547df6bbfa60adcc. editenglo.dll!std::unique_ptr<EditView,std::default_delete<EditView>>::operator*() at C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.24.28314\include\memory(1886) editenglo.dll!OutlinerView::GetEditView() at C:\lo\src\core\include\editeng\outliner.hxx(208) sdlo.dll!sd::DrawViewShell::GetAttrState(SfxItemSet & rSet) at C:\lo\src\core\sd\source\ui\view\drviewsf.cxx(514) sdlo.dll!SfxStubGraphicViewShellGetAttrState(SfxShell * pShell, SfxItemSet & rSet) at C:\lo\src\core\workdir\SdiTarget\sd\sdi\sdgslots.hxx(1524) sfxlo.dll!SfxShell::CallState(void(*)(SfxShell *, SfxItemSet &) pFunc, SfxItemSet & rSet) at C:\lo\src\core\include\sfx2\shell.hxx(199) sfxlo.dll!SfxDispatcher::FillState_(const SfxSlotServer & rSvr, SfxItemSet & rState, const SfxSlot * pRealSlot) at C:\lo\src\core\sfx2\source\control\dispatch.cxx(1672) sfxlo.dll!SfxBindings::Update_Impl(SfxStateCache & rCache) at C:\lo\src\core\sfx2\source\control\bindings.cxx(270) sfxlo.dll!SfxBindings::NextJob_Impl(const Timer * pTimer) at C:\lo\src\core\sfx2\source\control\bindings.cxx(1285) sfxlo.dll!SfxBindings::NextJob(Timer * pTimer) at C:\lo\src\core\sfx2\source\control\bindings.cxx(1230) sfxlo.dll!SfxBindings::LinkStubNextJob(void * instance, Timer * data) at C:\lo\src\core\sfx2\source\control\bindings.cxx(1227) vcllo.dll!Link<Timer *,void>::Call(Timer * data) at C:\lo\src\core\include\tools\link.hxx(111) vcllo.dll!Timer::Invoke() at C:\lo\src\core\vcl\source\app\timer.cxx(76) vcllo.dll!Scheduler::ProcessTaskScheduling() at C:\lo\src\core\vcl\source\app\scheduler.cxx(478) vcllo.dll!Scheduler::CallbackTaskScheduling() at C:\lo\src\core\vcl\source\app\scheduler.cxx(288) vcllo.dll!SalTimer::CallCallback() at C:\lo\src\core\vcl\inc\saltimer.hxx(55) vclplug_winlo.dll!WinSalTimer::ImplHandleElapsedTimer() at C:\lo\src\core\vcl\win\app\saltimer.cxx(164) vclplug_winlo.dll!WinSalTimer::ImplHandleTimerEvent(unsigned __int64 aWPARAM) at C:\lo\src\core\vcl\win\app\saltimer.cxx(174) vclplug_winlo.dll!SalComWndProc(HWND__ * __formal, unsigned int nMsg, unsigned __int64 wParam, __int64 lParam, bool & rDef) at C:\lo\src\core\vcl\win\app\salinst.cxx(626) vclplug_winlo.dll!SalComWndProcW(HWND__ * hWnd, unsigned int nMsg, unsigned __int64 wParam, __int64 lParam) at C:\lo\src\core\vcl\win\app\salinst.cxx(658) user32.dll!UserCallWinProcCheckWow() user32.dll!DispatchMessageWorker() vclplug_winlo.dll!ImplSalDispatchMessage(const tagMSG * pMsg) at C:\lo\src\core\vcl\win\app\salinst.cxx(420) vclplug_winlo.dll!ImplSalYield(bool bWait, bool bHandleAllCurrentEvents) at C:\lo\src\core\vcl\win\app\salinst.cxx(493) vclplug_winlo.dll!WinSalInstance::DoYield(bool bWait, bool bHandleAllCurrentEvents) at C:\lo\src\core\vcl\win\app\salinst.cxx(522) vcllo.dll!ImplYield(bool i_bWait, bool i_bAllEvents) at C:\lo\src\core\vcl\source\app\svapp.cxx(446) vcllo.dll!Application::Yield() at C:\lo\src\core\vcl\source\app\svapp.cxx(511) vcllo.dll!Application::Execute() at C:\lo\src\core\vcl\source\app\svapp.cxx(427) sofficeapp.dll!desktop::Desktop::Main() at C:\lo\src\core\desktop\source\app\app.cxx(1609) vcllo.dll!ImplSVMain() at C:\lo\src\core\vcl\source\app\svmain.cxx(191) vcllo.dll!SVMain() at C:\lo\src\core\vcl\source\app\svmain.cxx(226) sofficeapp.dll!soffice_main() at C:\lo\src\core\desktop\source\app\sofficemain.cxx(171) soffice.bin!sal_main() at C:\lo\src\core\desktop\source\app\main.c(48) soffice.bin!main(int argc, char * * argv) at C:\lo\src\core\desktop\source\app\main.c(47) soffice.bin!invoke_main() at d:\agent\_work\5\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl(79) soffice.bin!__scrt_common_main_seh() at d:\agent\_work\5\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl(288) soffice.bin!__scrt_common_main() at d:\agent\_work\5\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl(331) soffice.bin!mainCRTStartup() at d:\agent\_work\5\s\src\vctools\crt\vcstartup\src\startup\exe_main.cpp(17) kernel32.dll!BaseThreadInitThunk() ntdll.dll!RtlUserThreadStart() Change-Id: Ia9ba183bc1be2f22082ac3833e57435dd8462adf Reviewed-on: https://gerrit.libreoffice.org/c/core/+/86097 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2020-01-01weld PageStylesPanelCaolán McNamara
Change-Id: I8e6842a342b242eeaa6d7a27e268dbe5691a9703 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/86081 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2020-01-01drawinglayer: clang-format BasePrimitive2D + remove from blacklistTomaž Vajngerl
No functional change was made, only formatting of the code. The code was formatted with clang-format and moves the files baseprimitve2d.{cxx,hxx} out of blacklist so it will be auto formatted with every change from now on. Change-Id: If49ec94f91e58825f7aa94dc54cff8374467aa30 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/86078 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com> Tested-by: Tomaž Vajngerl <quikee@gmail.com>
2020-01-01tdf#123206 Store custom label as chart:data-labelTamas Bunth
Use the chart:data-label element instead of using the loext:custom-label-field attribute. chart:data-label stores can be a child of chart:data-point and it may contain a text:o element for holding one or more paragraphs of custom label text. This commit aims to export and import chart:data-label with paragraphs put into different text:span elements. These span elements may hold a text:style-name attribute in order to achieve formatted text. This structure is already in the ODF format. Change-Id: I0bea7ce1a16af9c47b33555e18545bdaae7e95ca Reviewed-on: https://gerrit.libreoffice.org/c/core/+/85659 Tested-by: Jenkins Reviewed-by: Tamás Bunth <btomi96@gmail.com>
2020-01-01weld NumberFormatPropertyPanelCaolán McNamara
including GtkMenuToolButton hackery to support a toggled state Change-Id: Ia1cf5fd7d56c2e475194cd2d0431611f278f5a33 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/85873 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2019-12-31separate setting toggle and showing menu for ToolbarToggleMenu buttonsCaolán McNamara
Change-Id: I7989c5b85cbf4e7698c76e35a516bcc39da41897 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/86038 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2019-12-30SvtAccessibilityOptions base SfxListener appears to be unusedStephan Bergmann
Change-Id: I96fa0c6eb7f0510eb8233b98072fd555307f8329 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/86011 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2019-12-30rename SvxDialControl back to DialControlCaolán McNamara
Change-Id: I4dcf12b6eccf18a0659c5d5f9cd58bd104c4dc6e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/85770 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2019-12-30DialControl is now unusedCaolán McNamara
Change-Id: Ifdaa6322c3eb12cb0df5130b0da0596ebca15321 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/85769 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2019-12-30SidebarDialControl is now unusedCaolán McNamara
Change-Id: I949276018ed1867ce2a450c013c7fa41206fe68c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/85765 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2019-12-30Avoid -Werror,-Wdeprecated-enum-float-conversionStephan Bergmann
...with recent Clang 10 trunk: > slideshow/source/engine/shapes/viewshape.cxx:813:81: error: arithmetic between enumeration type 'cppcanvas::Canvas::(anonymous enum at include/cppcanvas/canvas.hxx:57:9)' and floating-point type 'double' is deprecated [-Werror,-Wdeprecated-enum-float-conversion] > const double nXBorder( ::cppcanvas::Canvas::ANTIALIASING_EXTRA_SIZE / rViewTransform.get(0,0) ); > ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^ ~~~~~~~~~~~~~~~~~~~~~~~ Change-Id: I30b8457250545a9a16b2e29f94e0623175f43ff9 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/85968 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2019-12-30weld PosSizePropertyPanelCaolán McNamara
Change-Id: I32bba3a698a4cc78d4159c6f373b312540478ab0 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/85764 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2019-12-29pass in a awt::XWindow in the first placeCaolán McNamara
Change-Id: Ie94ba063b6f2ad98019bad21259125aabd16d93b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/85879 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2019-12-29incomplete declarationCaolán McNamara
Change-Id: I1dfdd03e7e068b5bfe68a1e2cb40e32ec676e865 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/85878 Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2019-12-29support converting images to 32-bitNoel Grandin
not sure where this is coming from, but without it, I see warning messages about bitmaps having the wrong depth Change-Id: Iee1a68ced73333a22b811dc31afb32df14709f18 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/85946 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2019-12-29acc. check: implement goto for OLE/Graphic objectsTomaž Vajngerl
This implements goto function for Graphic/OLE objects that are reported in a AccessibilityIssue. So this enables to go to the object inside a document for which we have reported an accessibility issue. Change-Id: I699966b116a76ea032cb1acc9a431687fa204e07 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/85922 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2019-12-29pdf: Add option for PDF/UA to the PDF export dialogTomaž Vajngerl
This is adding PDF/UA option to the PDF export dialog. When PDF/UA support is enabled, it automatically enables PDFTag support as it is required for PDF/UA. Change-Id: Ib3dece964523d4ed9884c98a6022a91120c6065f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/85921 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2019-12-29acc. check: add "goto" button to see the acc. issue in documentTomaž Vajngerl
This adds the UI for the goto functionality to the UI, but currently no goto implementation to jump to the specific issue area in the document is written. Change-Id: I5b326a000e62231c491c179b1ff8accde15e1e98 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/85920 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2019-12-29acc. check: add writer specific accessibility issueTomaž Vajngerl
This adds sw::AccessibilityIssue and refactors the existing code to work with it. In addition adds AccessibilityIssueCollection which holds the vector of results. Change-Id: Ide0fdbdba337bbf8c2fd18770895fb63a22528b6 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/85919 Reviewed-by: Tomaž Vajngerl <quikee@gmail.com> Tested-by: Tomaž Vajngerl <quikee@gmail.com>
2019-12-29Avoid crash in shutdown when accessing already destroyed BASIC_DLLMike Kaganski
... in ImplRepository::~ImplRepository. Running on Windows: make UITest_manual_tests UITEST_TEST_NAME=calc.ManualCalcTests.test_cell_recalc fails: ... Execution time for calc.ManualCalcTests.test_cell_recalc: 8.876 tearDown: calling terminate()... ...done ERROR ====================================================================== ERROR: test_cell_recalc (calc.ManualCalcTests) ---------------------------------------------------------------------- Traceback (most recent call last): File "C:\lo\src\core\uitest\uitest\framework.py", line 46, in tearDown self.connection.tearDown() File "C:\lo\src\core\uitest\libreoffice\connection.py", line 178, in tearDown self.connection.tearDown() File "C:\lo\src\core\uitest\libreoffice\connection.py", line 138, in tearDown raise Exception("Exit status indicates failure: " + str(ret)) Exception: Exit status indicates failure: 3221225477 ---------------------------------------------------------------------- Ran 1 test in 131.616s FAILED (errors=1) Tests run: 1 Tests failed: 0 Tests errors: 1 Tests skipped: 0 The call stack at the point of failure is sblo.dll!std::unique_ptr<SbxAppData,std::default_delete<SbxAppData>>::operator*() Line 1886 sblo.dll!GetSbxData_Impl() Line 110 sblo.dll!SbxBase::RemoveFactory(const SbxFactory * pFac) Line 122 sblo.dll!StarBASIC::~StarBASIC() Line 964 sblo.dll!StarBASIC::`vbase destructor'() sblo.dll!StarBASIC::`vector deleting destructor'(unsigned int) tllo.dll!SvRefBase::ReleaseRef() Line 163 sblo.dll!tools::SvRef<StarBASIC>::~SvRef<StarBASIC>() Line 56 sblo.dll!BasicLibInfo::~BasicLibInfo() sblo.dll!BasicLibInfo::`scalar deleting destructor'(unsigned int) sblo.dll!std::default_delete<BasicLibInfo>::operator()(BasicLibInfo * _Ptr) Line 1765 sblo.dll!std::unique_ptr<BasicLibInfo,std::default_delete<BasicLibInfo>>::~unique_ptr<BasicLibInfo,std::default_delete<BasicLibInfo>>() Line 1875 sblo.dll!std::unique_ptr<BasicLibInfo,std::default_delete<BasicLibInfo>>::`scalar deleting destructor'(unsigned int) sblo.dll!std::_Default_allocator_traits<std::allocator<std::unique_ptr<BasicLibInfo,std::default_delete<BasicLibInfo>>>>::destroy<std::unique_ptr<BasicLibInfo,std::default_delete<BasicLibInfo>>>(std::allocator<std::unique_ptr<BasicLibInfo,std::default_delete<BasicLibInfo>>> & __formal, std::unique_ptr<BasicLibInfo,std::default_delete<BasicLibInfo>> * const _Ptr) Line 677 sblo.dll!std::_Destroy_range<std::allocator<std::unique_ptr<BasicLibInfo,std::default_delete<BasicLibInfo>>>>(std::unique_ptr<BasicLibInfo,std::default_delete<BasicLibInfo>> * _First, std::unique_ptr<BasicLibInfo,std::default_delete<BasicLibInfo>> * const _Last, std::allocator<std::unique_ptr<BasicLibInfo,std::default_delete<BasicLibInfo>>> & _Al) Line 951 sblo.dll!std::vector<std::unique_ptr<BasicLibInfo,std::default_delete<BasicLibInfo>>,std::allocator<std::unique_ptr<BasicLibInfo,std::default_delete<BasicLibInfo>>>>::_Destroy(std::unique_ptr<BasicLibInfo,std::default_delete<BasicLibInfo>> * _First, std::unique_ptr<BasicLibInfo,std::default_delete<BasicLibInfo>> * _Last) Line 1616 sblo.dll!std::vector<std::unique_ptr<BasicLibInfo,std::default_delete<BasicLibInfo>>,std::allocator<std::unique_ptr<BasicLibInfo,std::default_delete<BasicLibInfo>>>>::_Tidy() Line 1698 sblo.dll!std::vector<std::unique_ptr<BasicLibInfo,std::default_delete<BasicLibInfo>>,std::allocator<std::unique_ptr<BasicLibInfo,std::default_delete<BasicLibInfo>>>>::~vector<std::unique_ptr<BasicLibInfo,std::default_delete<BasicLibInfo>>,std::allocator<std::unique_ptr<BasicLibInfo,std::default_delete<BasicLibInfo>>>>() Line 674 sblo.dll!BasicManagerImpl::~BasicManagerImpl() sblo.dll!BasicManagerImpl::`scalar deleting destructor'(unsigned int) sblo.dll!std::default_delete<BasicManagerImpl>::operator()(BasicManagerImpl * _Ptr) Line 1765 sblo.dll!std::unique_ptr<BasicManagerImpl,std::default_delete<BasicManagerImpl>>::~unique_ptr<BasicManagerImpl,std::default_delete<BasicManagerImpl>>() Line 1875 sblo.dll!BasicManager::~BasicManager() Line 824 sblo.dll!BasicManager::`vector deleting destructor'(unsigned int) sblo.dll!std::default_delete<BasicManager>::operator()(BasicManager * _Ptr) Line 1765 sblo.dll!std::unique_ptr<BasicManager,std::default_delete<BasicManager>>::~unique_ptr<BasicManager,std::default_delete<BasicManager>>() Line 1875 sblo.dll!std::pair<com::sun::star::uno::Reference<com::sun::star::uno::XInterface> const ,std::unique_ptr<BasicManager,std::default_delete<BasicManager>>>::~pair<com::sun::star::uno::Reference<com::sun::star::uno::XInterface> const ,std::unique_ptr<BasicManager,std::default_delete<BasicManager>>>() sblo.dll!std::pair<com::sun::star::uno::Reference<com::sun::star::uno::XInterface> const ,std::unique_ptr<BasicManager,std::default_delete<BasicManager>>>::`scalar deleting destructor'(unsigned int) sblo.dll!std::_Default_allocator_traits<std::allocator<std::_Tree_node<std::pair<com::sun::star::uno::Reference<com::sun::star::uno::XInterface> const ,std::unique_ptr<BasicManager,std::default_delete<BasicManager>>>,void *>>>::destroy<std::pair<com::sun::star::uno::Reference<com::sun::star::uno::XInterface> const ,std::unique_ptr<BasicManager,std::default_delete<BasicManager>>>>(std::allocator<std::_Tree_node<std::pair<com::sun::star::uno::Reference<com::sun::star::uno::XInterface> const ,std::unique_ptr<BasicManager,std::default_delete<BasicManager>>>,void *>> & __formal, std::pair<com::sun::star::uno::Reference<com::sun::star::uno::XInterface> const ,std::unique_ptr<BasicManager,std::default_delete<BasicManager>>> * const _Ptr) Line 677 sblo.dll!std::_Tree_node<std::pair<com::sun::star::uno::Reference<com::sun::star::uno::XInterface> const ,std::unique_ptr<BasicManager,std::default_delete<BasicManager>>>,void *>::_Freenode<std::allocator<std::_Tree_node<std::pair<com::sun::star::uno::Reference<com::sun::star::uno::XInterface> const ,std::unique_ptr<BasicManager,std::default_delete<BasicManager>>>,void *>>>(std::allocator<std::_Tree_node<std::pair<com::sun::star::uno::Reference<com::sun::star::uno::XInterface> const ,std::unique_ptr<BasicManager,std::default_delete<BasicManager>>>,void *>> & _Al, std::_Tree_node<std::pair<com::sun::star::uno::Reference<com::sun::star::uno::XInterface> const ,std::unique_ptr<BasicManager,std::default_delete<BasicManager>>>,void *> * _Ptr) Line 379 sblo.dll!std::_Tree<std::_Tmap_traits<com::sun::star::uno::Reference<com::sun::star::uno::XInterface>,std::unique_ptr<BasicManager,std::default_delete<BasicManager>>,std::less<com::sun::star::uno::Reference<com::sun::star::uno::XInterface>>,std::allocator<std::pair<com::sun::star::uno::Reference<com::sun::star::uno::XInterface> const ,std::unique_ptr<BasicManager,std::default_delete<BasicManager>>>>,0>>::_Erase_unchecked(std::_Tree_unchecked_const_iterator<std::_Tree_val<std::_Tree_simple_types<std::pair<com::sun::star::uno::Reference<com::sun::star::uno::XInterface> const ,std::unique_ptr<BasicManager,std::default_delete<BasicManager>>>>>,std::_Iterator_base0> _Where) Line 1389 sblo.dll!std::_Tree<std::_Tmap_traits<com::sun::star::uno::Reference<com::sun::star::uno::XInterface>,std::unique_ptr<BasicManager,std::default_delete<BasicManager>>,std::less<com::sun::star::uno::Reference<com::sun::star::uno::XInterface>>,std::allocator<std::pair<com::sun::star::uno::Reference<com::sun::star::uno::XInterface> const ,std::unique_ptr<BasicManager,std::default_delete<BasicManager>>>>,0>>::erase<std::_Tree_iterator<std::_Tree_val<std::_Tree_simple_types<std::pair<com::sun::star::uno::Reference<com::sun::star::uno::XInterface> const ,std::unique_ptr<BasicManager,std::default_delete<BasicManager>>>>>>,void>(std::_Tree_iterator<std::_Tree_val<std::_Tree_simple_types<std::pair<com::sun::star::uno::Reference<com::sun::star::uno::XInterface> const ,std::unique_ptr<BasicManager,std::default_delete<BasicManager>>>>>> _Where) Line 1417 sblo.dll!basic::ImplRepository::Notify(SfxBroadcaster & _rBC, const SfxHint & _rHint) Line 580 svllo.dll!SfxBroadcaster::Broadcast(const SfxHint & rHint) Line 50 sblo.dll!BasicManager::~BasicManager() Line 823 sblo.dll!BasicManager::`vector deleting destructor'(unsigned int) sblo.dll!std::default_delete<BasicManager>::operator()(BasicManager * _Ptr) Line 1765 sblo.dll!std::unique_ptr<BasicManager,std::default_delete<BasicManager>>::~unique_ptr<BasicManager,std::default_delete<BasicManager>>() Line 1875 sblo.dll!std::pair<com::sun::star::uno::Reference<com::sun::star::uno::XInterface> const ,std::unique_ptr<BasicManager,std::default_delete<BasicManager>>>::~pair<com::sun::star::uno::Reference<com::sun::star::uno::XInterface> const ,std::unique_ptr<BasicManager,std::default_delete<BasicManager>>>() sblo.dll!std::pair<com::sun::star::uno::Reference<com::sun::star::uno::XInterface> const ,std::unique_ptr<BasicManager,std::default_delete<BasicManager>>>::`scalar deleting destructor'(unsigned int) sblo.dll!std::_Default_allocator_traits<std::allocator<std::_Tree_node<std::pair<com::sun::star::uno::Reference<com::sun::star::uno::XInterface> const ,std::unique_ptr<BasicManager,std::default_delete<BasicManager>>>,void *>>>::destroy<std::pair<com::sun::star::uno::Reference<com::sun::star::uno::XInterface> const ,std::unique_ptr<BasicManager,std::default_delete<BasicManager>>>>(std::allocator<std::_Tree_node<std::pair<com::sun::star::uno::Reference<com::sun::star::uno::XInterface> const ,std::unique_ptr<BasicManager,std::default_delete<BasicManager>>>,void *>> & __formal, std::pair<com::sun::star::uno::Reference<com::sun::star::uno::XInterface> const ,std::unique_ptr<BasicManager,std::default_delete<BasicManager>>> * const _Ptr) Line 677 sblo.dll!std::_Tree_node<std::pair<com::sun::star::uno::Reference<com::sun::star::uno::XInterface> const ,std::unique_ptr<BasicManager,std::default_delete<BasicManager>>>,void *>::_Freenode<std::allocator<std::_Tree_node<std::pair<com::sun::star::uno::Reference<com::sun::star::uno::XInterface> const ,std::unique_ptr<BasicManager,std::default_delete<BasicManager>>>,void *>>>(std::allocator<std::_Tree_node<std::pair<com::sun::star::uno::Reference<com::sun::star::uno::XInterface> const ,std::unique_ptr<BasicManager,std::default_delete<BasicManager>>>,void *>> & _Al, std::_Tree_node<std::pair<com::sun::star::uno::Reference<com::sun::star::uno::XInterface> const ,std::unique_ptr<BasicManager,std::default_delete<BasicManager>>>,void *> * _Ptr) Line 379 sblo.dll!std::_Tree_val<std::_Tree_simple_types<std::pair<com::sun::star::uno::Reference<com::sun::star::uno::XInterface> const ,std::unique_ptr<BasicManager,std::default_delete<BasicManager>>>>>::_Erase_tree<std::allocator<std::_Tree_node<std::pair<com::sun::star::uno::Reference<com::sun::star::uno::XInterface> const ,std::unique_ptr<BasicManager,std::default_delete<BasicManager>>>,void *>>>(std::allocator<std::_Tree_node<std::pair<com::sun::star::uno::Reference<com::sun::star::uno::XInterface> const ,std::unique_ptr<BasicManager,std::default_delete<BasicManager>>>,void *>> & _Al, std::_Tree_node<std::pair<com::sun::star::uno::Reference<com::sun::star::uno::XInterface> const ,std::unique_ptr<BasicManager,std::default_delete<BasicManager>>>,void *> * _Rootnode) Line 745 sblo.dll!std::_Tree_val<std::_Tree_simple_types<std::pair<com::sun::star::uno::Reference<com::sun::star::uno::XInterface> const ,std::unique_ptr<BasicManager,std::default_delete<BasicManager>>>>>::_Erase_head<std::allocator<std::_Tree_node<std::pair<com::sun::star::uno::Reference<com::sun::star::uno::XInterface> const ,std::unique_ptr<BasicManager,std::default_delete<BasicManager>>>,void *>>>(std::allocator<std::_Tree_node<std::pair<com::sun::star::uno::Reference<com::sun::star::uno::XInterface> const ,std::unique_ptr<BasicManager,std::default_delete<BasicManager>>>,void *>> & _Al) Line 753 sblo.dll!std::_Tree<std::_Tmap_traits<com::sun::star::uno::Reference<com::sun::star::uno::XInterface>,std::unique_ptr<BasicManager,std::default_delete<BasicManager>>,std::less<com::sun::star::uno::Reference<com::sun::star::uno::XInterface>>,std::allocator<std::pair<com::sun::star::uno::Reference<com::sun::star::uno::XInterface> const ,std::unique_ptr<BasicManager,std::default_delete<BasicManager>>>>,0>>::~_Tree<std::_Tmap_traits<com::sun::star::uno::Reference<com::sun::star::uno::XInterface>,std::unique_ptr<BasicManager,std::default_delete<BasicManager>>,std::less<com::sun::star::uno::Reference<com::sun::star::uno::XInterface>>,std::allocator<std::pair<com::sun::star::uno::Reference<com::sun::star::uno::XInterface> const ,std::unique_ptr<BasicManager,std::default_delete<BasicManager>>>>,0>>() Line 1191 sblo.dll!std::map<com::sun::star::uno::Reference<com::sun::star::uno::XInterface>,std::unique_ptr<BasicManager,std::default_delete<BasicManager>>,std::less<com::sun::star::uno::Reference<com::sun::star::uno::XInterface>>,std::allocator<std::pair<com::sun::star::uno::Reference<com::sun::star::uno::XInterface> const ,std::unique_ptr<BasicManager,std::default_delete<BasicManager>>>>>::~map<com::sun::star::uno::Reference<com::sun::star::uno::XInterface>,std::unique_ptr<BasicManager,std::default_delete<BasicManager>>,std::less<com::sun::star::uno::Reference<com::sun::star::uno::XInterface>>,std::allocator<std::pair<com::sun::star::uno::Reference<com::sun::star::uno::XInterface> const ,std::unique_ptr<BasicManager,std::default_delete<BasicManager>>>>>() sblo.dll!basic::ImplRepository::~ImplRepository() sblo.dll!`basic::ImplRepository::Instance'::`2'::`dynamic atexit destructor for 'repository''() ucrtbased.dll!_execute_onexit_table::__l2::<lambda>() Line 206 ucrtbased.dll!__crt_seh_guarded_call<int>::operator()<void <lambda>(void),int <lambda>(void) &,void <lambda>(void)>(__acrt_lock_and_call::__l2::void <lambda>(void) && setup, _execute_onexit_table::__l2::int <lambda>(void) & action, __acrt_lock_and_call::__l2::void <lambda>(void) && cleanup) Line 204 ucrtbased.dll!__acrt_lock_and_call<int <lambda>(void)>(const __acrt_lock_id lock_id, _execute_onexit_table::__l2::int <lambda>(void) && action) Line 975 ucrtbased.dll!_execute_onexit_table(_onexit_table_t * table) Line 231 sblo.dll!__scrt_dllmain_uninitialize_c() Line 399 sblo.dll!dllmain_crt_process_detach(const bool is_terminating) Line 182 sblo.dll!dllmain_crt_dispatch(HINSTANCE__ * const instance, const unsigned long reason, void * const reserved) Line 220 sblo.dll!dllmain_dispatch(HINSTANCE__ * const instance, const unsigned long reason, void * const reserved) Line 293 sblo.dll!_DllMainCRTStartup(HINSTANCE__ * const instance, const unsigned long reason, void * const reserved) Line 335 ntdll.dll!LdrpCallInitRoutine() ntdll.dll!LdrShutdownProcess() ntdll.dll!RtlExitUserProcess() kernel32.dll!ExitProcessImplementation() ucrtbased.dll!exit_or_terminate_process(const unsigned int return_code) Line 144 ucrtbased.dll!common_exit(const int return_code, const _crt_exit_cleanup_mode cleanup_mode, const _crt_exit_return_mode return_mode) Line 282 ucrtbased.dll!exit(int return_code) Line 294 soffice.bin!__scrt_common_main_seh() Line 297 soffice.bin!__scrt_common_main() Line 331 soffice.bin!mainCRTStartup() Line 17 kernel32.dll!BaseThreadInitThunk() ntdll.dll!RtlUserThreadStart() Two problems here: 1. Deleting a function-local static ImplRepository object happens after BASIC_DLL destruction either in SfxApplication::~SfxApplication or in MacroSnippet::~MacroSnippet, so BasicManager dtor indirectly trying to access BASIC_DLL segfaults. 2. Implicit clearing of m_aStore in ImplRepository dtor calls dtors of owned BasicManager objects, which in turn notify parent ImplRepository, which again deletes the objects. This change limits lifetime of ImplRepository object with SbxAppData in BASIC_DLL, and avoids "owned BasicManager is deleting" notifications in its dtor. In dbaccess_complex test, ODatabaseContext accesses ImplRepository instance independently of SfxAppData_Impl lifetime: the latter is created before the former is created (and accesses ImplRepository instance first time), and destroyed before the former is destroyed (and accesses ImplRepository last time). So BASIC_DLL lifetime made ref-counted, to allow correct sharing of common instance between objects with independent lifetime. See also commit 3ebf6a090b227c0097ff8668fe023e7bdbdadc5d. Change-Id: I2ca36a87ddaf669557b3c3c7678e3d74aae66cce Reviewed-on: https://gerrit.libreoffice.org/c/core/+/85892 Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com> Tested-by: Mike Kaganski <mike.kaganski@collabora.com>
2019-12-28pdf: extract XMP metadata writing and use XmlWriterTomaž Vajngerl
Instead of writing XMP metadata with a string buffer, change to use XmlWriter instead. Extract XMP metadata writing into its own class vcl::pdf::XmpMetadata. This also needs a change to the XmlWriter to not write a classic XML header: '<?xml version="1.0" ... ?>' Change-Id: I95ea0e7ba58e7c43a0c707bf9c676994210ff104 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/85908 Reviewed-by: Tomaž Vajngerl <quikee@gmail.com> Tested-by: Tomaž Vajngerl <quikee@gmail.com>
2019-12-28Revert "tdf#46037: remove configurationhelper in oox/vbaproject"Julien Nabet
This reverts commit 276a90c6b3fb046df13ae85dcdec5f28f23ee527. Reason for revert: as requested here https://gerrit.libreoffice.org/c/core/+/85759 Change-Id: Ib6a1cedf758deadff4e8949e8ecf35d25565dcc7 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/85927 Reviewed-by: Julien Nabet <serval2412@yahoo.fr> Tested-by: Julien Nabet <serval2412@yahoo.fr>
2019-12-28acc. check: introduce AccessibilityCheckTest + document testTomaž Vajngerl
This adds AccessibilityCheckTest to test that AccessibilityCheck returns correct issues for documents. This in addition adds 2 tests for document title and document/style language. Change-Id: I71f3b0de0af7a08507f2b90b46847010948bc8cb Reviewed-on: https://gerrit.libreoffice.org/c/core/+/85856 Reviewed-by: Tomaž Vajngerl <quikee@gmail.com> Tested-by: Tomaž Vajngerl <quikee@gmail.com>
2019-12-28Fix typoAndrea Gelmini
Change-Id: Iebf4da702da03d9888bad314eb401cff6a26bd2b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/85903 Reviewed-by: Julien Nabet <serval2412@yahoo.fr> Tested-by: Julien Nabet <serval2412@yahoo.fr>
2019-12-27tdf#46037: simplify is/get methods in svtools/printoptionsJulien Nabet
Change-Id: I4358cfdbb2dbd7ad8d3cc7de82163303d403a8ec Reviewed-on: https://gerrit.libreoffice.org/c/core/+/85767 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2019-12-26acc. check: shorten var. name for acc. issue collectionTomaž Vajngerl
m_aAccessibilityIssueCollection to m_aIssueCollection Change-Id: I979d60aaf5963c0fa0fb58fc2e0a89b77858110b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/85846 Reviewed-by: Tomaž Vajngerl <quikee@gmail.com> Tested-by: Tomaž Vajngerl <quikee@gmail.com>
2019-12-26AccessibilityCheck iface, namespacesTomaž Vajngerl
This adds AccessibilityCheck interface into svx, which also requires addition of namespaces as there is now AccessibilityCheck interface and the implementation in sw (sw::AccessibilityCheck). Change-Id: If7065cdab90b02478c57f22afb7ca716d70b8dce Reviewed-on: https://gerrit.libreoffice.org/c/core/+/85837 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2019-12-26Accessibility check dialogTomaž Vajngerl
This adds the accessibility check dialog which is responsible to show all the accessibility check issues in the current document. Currently this just shows the text message in a list that comes from AccessibilityCheck. Change-Id: I8fd27038e3d85cd31fe172eee5e391fd4b7243ae Reviewed-on: https://gerrit.libreoffice.org/c/core/+/85821 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2019-12-26Add accessibility check to the Writer menuTomaž Vajngerl
Change-Id: I7e4c3267288b238583822489c8098e64319dda16 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/85819 Reviewed-by: Tomaž Vajngerl <quikee@gmail.com> Tested-by: Tomaž Vajngerl <quikee@gmail.com>
2019-12-25sal_Char->char in xmloff..xmlsecurityNoel Grandin
Change-Id: I292d699ce1de10ca9341525161f5da2592102ff7 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/85778 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>