summaryrefslogtreecommitdiff
path: root/include
AgeCommit message (Collapse)AuthorFilesLines
2021-02-08tdf#133858 reduce the double-ref range to data contentDennis Francis1-0/+2
in certain matrix formulas like SUM(IF(A1=G:G, H:H)*B1/B2) where whole columns are used for comparison in the condition of IF ultimately followed by a reducer like SUM. In such cases we can safely reduce the double-refs involved in the comparison to the sheet area where there is data before converting the data to ScMatrix. This is a more restricted version of Noel's fix in 37ffe509ef011357123642577c04ff296d59ce68 Change-Id: I1c2e8985adedb3f4c4648f541fb0e8e7d0fae033 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/109050 Reviewed-by: Luboš Luňák <l.lunak@collabora.com> Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> (cherry picked from commit 65167a9265acfea04733b5ff6ee3220a9da624f4) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/109118 Tested-by: Jenkins Reviewed-by: Dennis Francis <dennis.francis@collabora.com> (cherry picked from commit b14107dd0eaf9bfc276544e1900873d36075425e) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/109290 Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2021-02-03tdf#139869 vcl: fix lazy-loading of BMP images with logic sizeMiklos Vajna1-0/+15
Regression from commit 7b355669c6ddeab2e6cec692d6afdff41c61d0fb (Function to load graphic swapped out (loaded on demand), 2018-04-14), the code assumes that the map mode and size of a graphic is the same when the image is not yet loaded and when it's loaded already. This was not the case for the BMP import, where ImplReadDIBBody() produced a map mode with scaling and MapUnit::MapMM as the map unit, while GraphicDescriptor assumed that the logic size is always MapUnit::Map100thMM. This resulted in SwNoTextNode::HasContour() using one map mode when the contour polygon is imported and an other one was used while renderin, effectively hiding the image. Fix the problem by extending GraphicDescriptor, so a format detector can opt in to provide its own map mode and size according to that map mode, this way the detector and the BMP import will create matching map modes and sizes, resulting in a visible image in the bugdoc. (cherry picked from commit ddc0714c40c6ea85336431a88b523f3e5c63a3f8) Change-Id: I71e786a4601c63f58da2e6ab9d7681ec6dd7b806 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/110320 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
2021-01-30Improve macro checksSamuel Mehrbrodt2-2/+6
Change-Id: Ie40801df8866b52c1458e020ffa9cba120720af7 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/109552 Tested-by: Jenkins Reviewed-by: Thorsten Behrens <thorsten.behrens@allotropia.de> (cherry picked from commit 1dc71daf7fa7204a98c75dac680af664ab9c8edb) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/110056 Reviewed-by: Michael Stahl <michael.stahl@allotropia.de> Reviewed-by: Christian Lohmaier <lohmaier+LibreOffice@googlemail.com>
2021-01-27tdf#139609 avoid fetching unnecessary xid under gtk3Caolán McNamara1-10/+25
because of the side effects using a bare GtkGrid as m_pSocket in vcl/unx/gtk3/gtk3gtkobject.cxx is perhaps a poor choice, getting its xid causes poor side effects wrt events belonging to its child widgets getting delivered to the SalFrame widget, so duplicate scrolling after showing a opengl slide and/or showing a video and lots of flickering we're (generally at least) not using the xid under gtk3 so don't set it unless it's explicitly asked for. Happily the gtk Player::createPlayerWindow doesn't use its arg[0] xid in any case, so don't bother setting it for that backend. Change-Id: I1c59a607a332635091782c3b49de10647558f301 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/109941 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com> and... use an accessor for SystemEnvData::aWindow with an eye to making it on-demand Change-Id: If6cefd68a336dc6afe23591c857bd71034215b54 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/109929 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/110005 Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
2021-01-27tdf#139147 sw outline UI: allow clearing of custom list formatJustin Luth1-1/+1
Since LO 6.4.5, primarily for DOCX support, numbering can have a custom format that ignores the suffix, prefix etc. Well, the UI has no way to see or edit that. So allow the UI to throw that away and go back to the normal prefix/subLevels/suffix model. Change-Id: I84f93d37c95dabb18facf9140bf8f85b4bac5006 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/109839 Tested-by: Jenkins Reviewed-by: Vasily Melenchuk <vasily.melenchuk@cib.de> Reviewed-by: Justin Luth <justin_luth@sil.org> (cherry picked from commit 55933f49f5a04708d27dc69e8778ec126646e3a5) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/109975 Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
2021-01-26tdf#135550 ListBox should triger an event when changed non-interactivelyCaolán McNamara1-7/+19
not just when changed by the user Change-Id: If2238341ff8465fee6375dad1ea9b4d7ec0110e6 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/109800 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
2021-01-26tdf#139590 Drag and drop doesn't work in SdrObjEditViewCaolán McNamara1-0/+1
Change-Id: Id8deeee0c1a919f330bc6623f708453279a214c8 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/109793 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
2021-01-25drop RadioButton arg defaultsCaolán McNamara1-1/+1
the nBits arg in builder.cxx was in the wrong place Change-Id: Id4d0dd6919444cb39cf0d9e593f46d324f343a31 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/109682 Tested-by: Jenkins Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2021-01-22tdf#135590 MapUnit::Map100thMM fallback is inappropiate for writerCaolán McNamara1-1/+7
which uses MapUnit::Twip so directly after insert, envelope, ok the new document sidebar was using MapUnit::Map100thMM to lookup paper sizes instead of MapUnit::Twip giving inconsistent results against format, page Change-Id: I6a92fddedfe9fef8ad7532ad00b2b38b9741bb69 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/109751 Reviewed-by: Michael Stahl <michael.stahl@allotropia.de> Tested-by: Jenkins
2021-01-22tdf#135590 rotated paper sizes reported as portrait size they are notCaolán McNamara1-1/+1
since... commit ff4896a2af1df6138e9246fe1588dfe8c3748f1a Date: Fri Jun 29 11:36:03 2018 -0300 Sets paper sizes listbox in print dialog see as the above commit added some uses of doSloppyFit to vcl I imagine the calls there want to be able to match rotated paper sizes, but in the cases of tdf#135590 we don't want that behaviour because it doesn't match what the user is presented with, the width and height are swapped. So drop matching against swapped height/width by default, but let calls added in 'Sets paper sizes listbox in print dialog' continue to match rotated sizes. Change-Id: I34aeddf12a7ca22234fbc6394487d3c8da7772ca Reviewed-on: https://gerrit.libreoffice.org/c/core/+/109792 Tested-by: Jenkins Reviewed-by: Adolfo Jayme Barrientos <fitojb@ubuntu.com>
2021-01-21make crashreports include info about the system (CPU,memory)Luboš Luňák1-0/+1
This may be useful when we again will be deciding on how well something is or isn't supported (such as when we were making SSE2 required on Windows). Breakpad already kind of provides this information (as CPU family, model and stepping), but that appears to be next to useless in practice (on X86_64 it doesn't even say the CPU vendor). So send as metadata CPU name, flags (SSE etc.) and system RAM, as these may be possibly useful information. Change-Id: I77ed935d78501d49f70e8b9769fab6be79f1db77 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/109358 Tested-by: Jenkins Reviewed-by: Luboš Luňák <l.lunak@collabora.com> (cherry picked from commit ea610df36842305ef7e26d964ad0a1677be5f553) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/109690 Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2021-01-20Fix handling of the OBJECTDESCRIPTOR clipboard (pasteboard) type on macOSTor Lillqvist1-0/+1
This fixes a demonstrable problem, and affects only macOS. This is also on the path towards fixing https://github.com/CollaboraOnline/online/issues/849 , even if the code touched here is for macOS only. The iOS pasteboard handling code is based on the macOS one. We need the pasteboard to have the OBJECTDESCRIPTOR type as a MIME type that includes the typename attribute, because the code in sc checks for that when it decides whether it is a proper OBJECTDESCRIPTOR. Simplify the data in the flavorMap array. No need to duplicate the same MIME type string as both the pasteboard type and MIME type, for those cases where the MIME type is used diretly as pasteboard type. We also know that for those types, the MIME type might have additional parameters, so be more lenient in checking. With this change, and my recent change to sot, this now works: Start LibreOffice. Open a spreadsheet. Select a cell range. (It can include formulas.) Edit > Copy. Quit LibreOffice. Start LibreOffice again. Open a spreadsheet. Edit > Paste. You get the very same cells that you pasted as such (with relative cell addresses in formulas properly adjusted, as expected). Previously, it would paste an image of the copied cell range, which is fairly pointless. There is still lots of opportunity for cleanup in the clipboard code for macOS and iOS. It is presumably rather pointless to put images on the pasteboard in Windows bitmap format, for instance. Just PNG should be enough. No idea why the code provides the TIFF pasteboard type for images. Ditto for Windows metafiles (WMF and EMF). It is also unclear how useful the EMBED_SOURCE or LINK_SOURCE types are on macOS, for instance. Change-Id: I573648480b03972b506203b4f470d513bcb81212 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/109297 Tested-by: Jenkins Reviewed-by: Tor Lillqvist <tml@collabora.com> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/109357 Reviewed-by: Adolfo Jayme Barrientos <fitojb@ubuntu.com>
2021-01-18tdf#138829 don't grab focus to roadmap label when sync timer firesCaolán McNamara1-1/+1
Change-Id: Icc8a03a2ce5d63f3a2c477671a9aa52aefd1df96 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/109351 Tested-by: Jenkins Reviewed-by: Adolfo Jayme Barrientos <fitojb@ubuntu.com>
2021-01-17tdf#135641 update DataBrowser has-focus when child widget gains focusCaolán McNamara2-0/+4
Change-Id: Ic5e618b50c31ebeffa1b2cc59857582804874747 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/109349 Tested-by: Jenkins Reviewed-by: Adolfo Jayme Barrientos <fitojb@ubuntu.com>
2021-01-12xmloff: "form:datasource" vs. "db:data-source"Michael Stahl1-1/+2
Recently xmloff started to use XML_DATASOURCE for "form:datasource" but it actually means "data-source". Add XML_DATA_SOURCE and use it for "db:data-source". (regression from 3de38e95561ab7ca114d9f3307702ba89c4e3e9a) Change-Id: I893efd3fb0fb7c19ae998442459bf36cb1da0b20 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/109019 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> Reviewed-by: Michael Stahl <michael.stahl@allotropia.de> (cherry picked from commit db283d2e3f5cd8be412c5204f358cd06af761b13) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/109000 Reviewed-by: Adolfo Jayme Barrientos <fitojb@ubuntu.com> Tested-by: Michael Stahl <michael.stahl@allotropia.de>
2020-12-18Check intermediate for not to be rounded value, tdf#138360 follow-upEike Rathke1-0/+14
This is a combination of 3 commits. Add sal_uInt64 fields to sal_math_Double We may need them later, and at least don't have a confusing inf_parts or nan_parts struct name but just parts as well. Ife0cf279c47d2815aa2a1483223397b147e9d776 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/107924 Reviewed-by: Eike Rathke <erack@redhat.com> Tested-by: Jenkins Replace log2() call with parts.exponent-1023, tdf#138360 follow-up ... to save some cycles as we anyway need only the integer value of the exponent and even exactly this value for the number of possible decimals. I8d462f53cadde6a95d57d1342d8487fbfa001ae9 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/107928 Tested-by: Jenkins Reviewed-by: Eike Rathke <erack@redhat.com> Check intermediate for not to be rounded value, tdf#138360 follow-up I98cc25267e7a10c34179bab50d19f49436e1c48c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/107929 Tested-by: Jenkins Reviewed-by: Eike Rathke <erack@redhat.com> Change-Id: I98cc25267e7a10c34179bab50d19f49436e1c48c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/107931 Tested-by: Jenkins Reviewed-by: Eike Rathke <erack@redhat.com>
2020-12-17tdf#129961 svx: finish UI for table shadow as direct formatMiklos Vajna1-0/+1
Normally properties on an SdrObject is set using SetAttributes(), but that would take the selection controller into account, so we would call SvxTableController::SetAttributes(), which sets the item set on the selected cells instead. So use SetAttrToMarked() instead, which works on the shape's item set, even in the table case. Don't replace all existing items because we only have shadow properties here and also a disabled shadow is still a (set) SdrOnOffItem (with value=false), so no old SdrOnOffItem will be forgotten in the shape's item set. Also add an outer undo grouping, so once the user presses OK in the table properties dialog, we only create a single user-visible undo action, not two. (cherry picked from commit fdeb04f7c59cf8032fe17072ed779e70505cc6ab) Change-Id: I77b55ba1f07b8d0eeac5070e0ec07d39573d1f9a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/107864 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2020-12-11tdf#129961 svx: add doc model xml dump for shadow-related pool itemsMiklos Vajna4-0/+7
It seems that sdr::table::SdrTableObj is already capable of storing shadow properties, but this is not easy to inspect, extend the xml dumper to improve the situation. Change-Id: Ideef43dfd6b844e0227632ec2cb6ab5d16171d8b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/106902 Reviewed-by: Miklos Vajna <vmiklos@collabora.com> Tested-by: Jenkins (cherry picked from commit a7505356872f981c951b2ec64383a95538890876) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/107563
2020-12-10Resolves: tdf#138789 disable widgets on 'none' when status changesCaolán McNamara2-2/+7
instead of when chage is dispatched, the chart case has its own dispatcher that disables the base class one. This fixes the reported problem, and the related problem of updating when moving focus from one line that has style 'none' to one that doesn't, and vice-versa, where no change is dispached on received on context change Change-Id: I6afb396e75ba93c13fcae71c52618cfce7f9cecb Reviewed-on: https://gerrit.libreoffice.org/c/core/+/107525 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2020-12-10tdf#41466 DOCX import: fix VML v:shape/v:textboxRegényi Balázs2-0/+14
VML v:shape/v:textbox element was imported only as a text frame, losing (otherwise recognized) preset shape geometry, i.e. replacing a callout bubble (wedgeRectCallout) and other special shapes with a plain rectangle. Thanks to Attila Bakos for the initial help. Change-Id: I03a608822ed54a20ed07406a08c3539e72958f5b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/105299 Tested-by: Jenkins Reviewed-by: László Németh <nemeth@numbertext.org> (cherry picked from commit bda05ba17362222b74727872579b65b3fa14e3d8) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/107486
2020-12-09tdf#138778 add has_child_focus which considers a related popup a 'child'Caolán McNamara1-3/+34
Change-Id: Iab23e399f2650ece702fb1f62d1387acca472b42 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/107480 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2020-12-04include cstddef for gcc11Jeff Law1-0/+1
Change-Id: I2f845ce9bb660ad6c1eea80ea81dd71add2c0db1 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/107203 Tested-by: Caolán McNamara <caolanm@redhat.com> Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2020-12-03tdf#107870 sw: don't jump to cursor setting Record ChangesLászló Németh1-1/+1
Using Edit->Track Changes->Record or Record Tracked Changes on Track Changes toolbar scrolled the pages back to the text cursor, breaking the review process of the document. Change-Id: I890e845ff94b636dd6edae19969d913e8d7a7b65 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/107005 Tested-by: László Németh <nemeth@numbertext.org> Reviewed-by: László Németh <nemeth@numbertext.org> (cherry picked from commit 1fd0919d92e792fa4af209a0fc7fde55c9958d1a) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/107103 Tested-by: Jenkins
2020-12-03Add 'SinglePrintJobs' to PrintOptionsSamuel Mehrbrodt1-0/+3
So that this option can be set via UNO API Change-Id: I0b69162661a4327d59aaed82d5eff98cb50d852c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/106593 Tested-by: Jenkins Reviewed-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de> (cherry picked from commit 2e2c162b7a816d990415fca434e6d3d5600b2858) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/106677 Reviewed-by: Thorsten Behrens <Thorsten.Behrens@CIB.de>
2020-12-02tdf#138427 focus set to wrong input boxCaolán McNamara1-4/+1
Change-Id: I4c1d3aa720f280f0ec1a3764d55f1d95ebd3180d Reviewed-on: https://gerrit.libreoffice.org/c/core/+/106950 Tested-by: Caolán McNamara <caolanm@redhat.com> Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2020-12-01cid#1470362 Uninitialized scalar fieldCaolán McNamara2-5/+0
Change-Id: I8828b7e098c1af9411b15b449f425242f5e64635 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/106972 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2020-12-01add ThreadPool::isIdle() to avoid incorrect detection of "no tasks"Luboš Luňák1-3/+6
Tasks that are being worked on but are not yet finished are removed from maTasks, so maTasks.empty() does not mean "idle". I fixed one case already in 2ad4e77a0f266ae6e6fccaebb1d080d2880bdac3, this one fixes joinAll() which has a similar problem and triggers https://gerrit.libreoffice.org/c/core/+/69473/3/sc/source/core/data/documen2.cxx#312 Also rename joinAll() to joinThreadsIfIdle(), as that's what it really is. Change-Id: I8129cfadb81be968575ea8718de9ae997b877a4e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/106701 Tested-by: Jenkins Reviewed-by: Luboš Luňák <l.lunak@collabora.com> (cherry picked from commit 583b0612696f42571ac97b66c159570ea452fe17) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/106824
2020-11-24Remove unused ScrollBarBox from tabpageSamuel Mehrbrodt1-2/+0
This displays an empty rectangle at the upper left of the tabpage. Change-Id: I8424a3f8ec4896814b135aa2c86012f0b33ee1be Reviewed-on: https://gerrit.libreoffice.org/c/core/+/106480 Tested-by: Jenkins Reviewed-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de> (cherry picked from commit 6df0e538ff05b98e1123c5ad1d77f554007bff12) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/106440 Reviewed-by: Thorsten Behrens <Thorsten.Behrens@CIB.de>
2020-11-24tdf#138430 schedule a reformat if we turned off the scrollbarCaolán McNamara1-1/+1
Change-Id: Ida7d7419f0513624071b31820660add93ac78615 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/106445 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2020-11-23Copyedit: “Fontwork” is uncountable, “be sure” ≠ “make sure”, ↵Adolfo Jayme Barrientos1-1/+1
“in order to” redundant (cherry picked from commit ab97fe1b9b988936bf96b198387eaf3ff00fed61) Similarly, the proper noun “SmartArt” shouldn’t be pluralized This completes commit ab97fe1b9b988936bf96b198387eaf3ff00fed61. (cherry picked from commit 750e3b2118cd5bdfe2ee6fdfb092255b9c6db728) Change-Id: I0f361823d7f9af5de4e8c62011f66d59670346d4 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/106394 Tested-by: Jenkins Reviewed-by: Adolfo Jayme Barrientos <fitojb@ubuntu.com>
2020-11-21sfx2: lok: reliably support multi-documentsAshod Nakashian3-8/+25
Instead of using the current view to set the DocId, we instead make sure that the ShellView object has the DocId set at construction time. This turned out to be necessary in at least one case (which has a unit-test that failed), which is when events fired during the creation of a new view. The cursor position is notified before we have a chance to set the DocId and because of that we miss the notifications (or worse, we end up sending them to all other documents' views in an effort to fix this bug). This approach is clean and always guarantees that all views have the correct DocId set as soon as possible and that all notifications are sent as expected. A unit-test is added to exercise mult-document usage, which exposed a number of bugs and issues that have been addressed in this patch. Change-Id: Icf5145fb1dabd0d029368310c2b9bf73ae927ccc Reviewed-on: https://gerrit.libreoffice.org/c/core/+/99975 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Michael Meeks <michael.meeks@collabora.com> Reviewed-by: Ashod Nakashian <ash@collabora.com> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/106252 Tested-by: Jenkins Reviewed-by: Tor Lillqvist <tml@collabora.com>
2020-11-21remove some prefix and local params from constructorsNoel Grandin1-2/+1
Change-Id: Iaffbefe98ced97610b99a00b1b3011c6a79a7859 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/106300 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2020-11-21Relax non-null requirement for some rtl_uString_* functionsStephan Bergmann1-8/+8
...that take a pointer and a length, and where it should be OK that the pointer is null if the length is zero. Those rtl_uString_* functions are targets of OUString member functions that take std::[u16]string_view arguments, and 19926ed35ebb623fc896942b1f232b83edf1fc1e "loplugin:stringview: Flag empty string converted to string view" (which changed some call sites to pass in default- constructed std::[u16]string_view, for which data() returns null) revealed that those rtl_uString_* functions were not prepared for such input. (The guardings of memcpy are necessary because memcpy still requires its pointer arguments to be non-null, even if the corresponding length is zero.) The new sal/qa/rtl/strings/test_strings_defaultstringview.cxx systematically tests all O[U]String[Buffer] member functions taking std::[u16]string_view arguments. It revealed one further issue in IMPL_RTL_STRNAME(compare_WithLength), where UBSan reported a nullptr-with-nonzero-offset > sal/rtl/strtmpl.cxx:149:9: runtime error: applying non-zero offset 18446744073709551614 to null pointer Also, rtl_uString_newReplaceFirstUtf16LUtf16L was found to lack a check for its `from` argument to be non-null. Change-Id: I6a7a712570f7d1e8d52097208c8a43a5a24797af Reviewed-on: https://gerrit.libreoffice.org/c/core/+/106295 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2020-11-21tdf#123936 Formatting files in module include with clang-formatPhilipp Hofer312-2320/+2345
Change-Id: I0507dd797cd5a35e0ae14f4b69ee4e172d08a71a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/105681 Reviewed-by: Christian Lohmaier <lohmaier+LibreOffice@googlemail.com> Tested-by: Jenkins
2020-11-21Changes to the color classdante1-1/+20
Before colors could be only converted to string rrggbb. Now also supports RRGGBB. It can also be converted back into a color. Change-Id: Ifb89d554b434c243c4f0956ee680ec23de823339 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/106224 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2020-11-21fastparser in XMLEventsImportContextNoel Grandin2-21/+2
Change-Id: Ifeeb2220ec6dfe6ec91f238137796d7d9e517465 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/106261 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2020-11-20move RadioButton to be toolkit onlyCaolán McNamara2-120/+120
Change-Id: Ie548ad3c471745297242a390fd2e500fa699de19 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/105836 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2020-11-20weld TabBarCaolán McNamara5-47/+48
Change-Id: I698f4dfc64bfa9bc4896111757616b4051b10293 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/105797 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2020-11-20SvStream::{Tell,TellEnd,remainingSize} all return sal_uInt64Stephan Bergmann1-4/+4
...so use that type where appropriate here Change-Id: I3e419457bc04b5908128bad04eb16c72052d2ebf Reviewed-on: https://gerrit.libreoffice.org/c/core/+/106267 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2020-11-20sfx2: lok: refactor notifications and const correctnessAshod Nakashian1-5/+12
This reduces the stringification and reuses the notificaiton helpers to reduce code duplication. Change-Id: Icf9f9c50f3eeee61a0ded741d39fed37cfcc8da1 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/99972 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Ashod Nakashian <ash@collabora.com> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/106221 Tested-by: Jenkins Reviewed-by: Tor Lillqvist <tml@collabora.com>
2020-11-20Lengths passed into the SvxMSDffManager::Get*Data functions are all sal_uInt32Stephan Bergmann1-4/+4
(i.e., rLength obtained from SvxMSDffManager::ReadCommonRecordHeader) Change-Id: I04b51cb7e6cb771d89d07a86c00ee9fdaa72aaa6 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/106176 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2020-11-20tools::Polygon::Clip() is broken with bezier curves (tdf#137068)Luboš Luňák1-0/+30
It preserves the points, but not the flags. Work this around by temporarily converting to B2DPolygon, where it works. Change-Id: I120264fbc4c7c508386f23a06435891199565aae Reviewed-on: https://gerrit.libreoffice.org/c/core/+/106188 Tested-by: Jenkins Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
2020-11-20tdf#138108 terminate on uncaught exception in a11y callbackCaolán McNamara1-8/+8
#1 0x00007ffff5d3fafe in accessibility::AccessibleContextBase::ThrowIfDisposed() (this=0x85de440) at editeng/source/accessibility/AccessibleContextBase.cxx:513 #2 0x00007ffff5d3fbee in accessibility::AccessibleContextBase::getAccessibleParent() (this=0x85de440) at editeng/source/accessibility/AccessibleContextBase.cxx:203 #3 0x00007fff999cad24 in SwAccessibleMap::DoInvalidateShapeSelection(bool) (this=0x687e610, bInvalidateFocusMode=false) at sw/source/core/access/accmap.cxx:1647 #4 0x00007fff999cc5a5 in SwAccessibleMap::InvalidateShapeSelection() (this=0x687e610) at sw/source/core/access/accmap.cxx:1152 #5 0x00007fff999d78b0 in SwAccessibleMap::InvalidateCursorPosition(SwFrame const*) (this=0x687e610, pFrame=0x5a3faa0) at sw/source/core/access/accmap.cxx:2744 #6 0x00007fff9aae5c32 in SwViewShellImp::InvalidateAccessibleCursorPosition(SwFrame const*) (this=0x6594330, pFrame=0x5a3faa0) at sw/source/core/view/viewimp.cxx:345 #7 0x00007fff99b01fcd in SwCursorShell::UpdateCursor(unsigned short, bool) (this=0x6594840, eFlags=7, bIdleEnd=false) at sw/source/core/crsr/crsrsh.cxx:2020 #8 0x00007fff99b02db4 in SwCursorShell::EndAction(bool, bool) (this=0x6594840, bIdleEnd=false, DoSetPosX=false) at sw/source/core/crsr/crsrsh.cxx:279 #9 0x00007fff9a2249b2 in SwFEShell::SelectObj(Point const&, unsigned char, SdrObject*) (this=0x6594840, rPt=Point = {...}, nFlag=0 '\000', pObj=0x0) at sw/source/core/frmedt/feshview.cxx:323 #10 0x00007fff9b30eacb in SwWrtShell::UnSelectFrame() (this=0x6594840) at sw/source/uibase/wrtsh/select.cxx:326 Change-Id: I122d087b67c3615afb0c34aa714bc1066946c8c1 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/106190 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2020-11-20pdfium: add a signature wrapper classMiklos Vajna1-1/+15
It just hides the underlying FPDF_SIGNATURE, no real member functions yet. Change-Id: I37d27c26d6f05b1f8c697a5afe682c795e5d4d1b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/106184 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2020-11-20simplify CreateTableContextNoel1-2/+1
Change-Id: I1700d17d6f3aa29fcc4a1ea33d8d797e67c301d1 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/106168 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2020-11-19tdf#124176 use pragma once instead of include guardsRoman Kuznetsov17-69/+17
in /core/include/sfx2/sidebar Change-Id: I3ce7ccbd1e0e8e905c1f0eeefe1b17f4a2cd238f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/106138 Tested-by: Jenkins Reviewed-by: Roman Kuznetsov <antilibreoffice@gmail.com>
2020-11-19Clean up GetHTMLColor "not found" valueStephan Bergmann1-1/+1
...after fe3dd6d831998dd5619ea223af04bc51f9294d2f "Changed return type of GetHTMLColor". (Clients had already been updated with 530df0b322f64fdcb08e9ef0b6ba944dd172ef60 "Changed return type of GetHTMLColor" and 463563853a81499de2259372755b00aa5ec246a7 "Changed return type of GetHTMLColor".) Change-Id: I1db842775a69bb3c0ff08dca152094d7b67ca221 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/106177 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2020-11-19fastparser in TokenContextNoel1-4/+0
Change-Id: I12c2af505d4bf19d94fb127cda2403f0b6618b07 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/106159 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2020-11-19Clarify DdeData::GetExternalFormat return typeStephan Bergmann1-3/+3
The implementation (in svl/source/svdde/ddedata.cxx) returns any of: * {CF_TEXT=1, CF_BITMAP=2, CF_METFILEPICT=3} from the Windows API; * the return value of Windows API's RegisterClipboardFormatW, which is UINT from the Windows API (i.e., 32-bit unsigned int); * a enum SotClipboardFormatId value, whose underlying type is sal_uInt32. So the natural choice is sal_uInt32 here. (Windows API's UINT would also do, but cannot be used in include/svl/svdde.hxx, which is used on all platforms.) That in turn shows that DdeService's aFormats and HasCbFormat should also use sal_uInt32. (And then, simplify some of the std algorithms use in svl/source/svdde/ddesvr.cxx.) Change-Id: I593d0a7df78bfdd08ce2de04c3da2078d973e262 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/106151 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2020-11-19tdf#138010 (IV) VclScrolledWindow: Use actual border widthMichael Weghorn1-1/+3
The frame drawn by 'DecorationView::DrawFrame' may use native drawing, in which case the frame may be wider than 1 pixel. Take that into account and calculate the frame width and resulting position/size of the scrollbars and child widget using the content rectangle returned when drawing the frame using 'DecorationView::DrawFrame'. This avoids that the child widget is drawn on top of the frame, which e.g. resulted in no visible border when using the Qt/KDE Breeze style, which has a frame width of 2, with the actual 1 pixel border being surrounded by a 1 pixel padding/margin, and the content being drawn on top of the 1 pixel border. With the child widget being drawn on top of the actual border, only the invisible padding was left where a visible border was expected. (The current implementation assumes that the same frame width is used on all sides, which matches the way Qt styles handle it, but could be further extended if necessary.) Change-Id: I44268728838406fc578774c0f4fcc167fb2798b5 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/106157 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>