summaryrefslogtreecommitdiff
path: root/vcl/source
AgeCommit message (Collapse)Author
2021-02-22tdf#127471 correct EMF/WMF im/export for scaled fontArmin Le Grand (Allotropia)
If FontScaling is used, system-dependent data is held at vcl::Font Width(). Already if not scaled, we have three definitions: Width is zero, Width is equal to Height (unx) or - on Windows - Width equals avgFontWidth. If used it is W!=H where on unx Width equals Height multiplied with the scale factor. On Windows, this is Width multiplied with the only there existing avgFontWidth. Unfortunately that is ex/imported (since ever) undetected to EMF/WMF thus making EMF/WMF files containing FontScaling system-dependent - on which system was LO running when creating the file? The error can be seen when loading such a EMF/WMF on the vice-versa system, the FontScale is very ugly and wrong. Since EMF/WMF *are* Windows-specific formats the Windows-like definition is the correct one. This change makes all other systems export that now, and adapt on import to their system- specific definition (assuming coming from Windows). As can be seen, the difficulty is that these adaptions are necessary on non-Windows plattforms, but these do not have that avgFontWidth available. Thus I made a deep-dive investigation and multiple experiments to create a as similar as possible value to apply the needed calculations. For details and discussion refer to the bug description. Change-Id: I983fb6d882e2e8fccf9c8460f01509201d8157f9 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/111000 Tested-by: Jenkins Reviewed-by: Armin Le Grand <Armin.Le.Grand@me.com> (cherry picked from commit 9d161857f1d4afcb772b477455797a2da0e47a9b) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/111148 Tested-by: Thorsten Behrens <thorsten.behrens@allotropia.de> Reviewed-by: Thorsten Behrens <thorsten.behrens@allotropia.de>
2021-02-18tdf#127471 improve SVM FontScaling im/exportArmin Le Grand (Allotropia)
Due to svg::Font Width and it's expression of FontScaling being system-dependent the FontScaling when exchanging beween win-based SVM creators and others was creating errors. Corrected this to work now with newly created SVM files in both directions. For more aspects see discussion in task. Change-Id: I326e4e7e895a9dfc3cdfc5323174ca81e22795e8 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/110330 Tested-by: Jenkins Reviewed-by: Armin Le Grand <Armin.Le.Grand@me.com> (cherry picked from commit 40b56cd8da8c38582dc4660b486993d1b4711535) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/111040 Tested-by: Thorsten Behrens <thorsten.behrens@allotropia.de> Reviewed-by: Thorsten Behrens <thorsten.behrens@allotropia.de>
2021-01-25ofz#26122 allow NINSIZE input full elementsCaolán McNamara
Change-Id: Ifbde8fc055a91e23db08508a34ce4664d2f1f96f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/103906 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com> (cherry picked from commit fb0c3f9d8964f8c0f40238559c32d9d73cba6b55)
2021-01-25ofz#25989 cmap parsingCaolán McNamara
Change-Id: I048e5d88d5926a4afa75afab18db5ca6354e2454 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/103641 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com> (cherry picked from commit 9a1202edab0cfe95572f12a8c49ef756ead49bf2)
2020-12-03fix --disable-pdfium buildCaolán McNamara
Change-Id: I580972220bc39abe16288fa62c717e4ab25833d9 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/105015 Tested-by: Jenkins Tested-by: René Engelhard <rene@debian.org> Reviewed-by: René Engelhard <rene@debian.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> (cherry picked from commit b9e5d5347e5dece693fe56b88570abc07a30a8ba) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/107064 Tested-by: Michael Stahl <michael.stahl@cib.de> Reviewed-by: Michael Stahl <michael.stahl@cib.de>
2020-12-03xmlsecurity: handle MDP permission during PDF verifyMiklos Vajna
(cherry picked from commit 586f6abee92af3cdabdce034b607b9a046ed3946) Conflicts: include/vcl/filter/PDFiumLibrary.hxx vcl/source/pdf/PDFiumLibrary.cxx xmlsecurity/source/helper/pdfsignaturehelper.cxx Change-Id: I626fca7c03079fb0374c577dcfe024e7db6ed5b3 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/105785 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com> (cherry picked from commit 00479937dc071246cc27f33fd6397668448a7ed9) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/107062 Tested-by: Michael Stahl <michael.stahl@cib.de> Reviewed-by: Michael Stahl <michael.stahl@cib.de>
2020-12-02vcl pdf tokenizer: fix handling of dict -> array -> dict tokensMiklos Vajna
Needed to be able to parse the /Reference key of signatures. (cherry picked from commit 056c1284d6a68525002c54bef10834cc135385db) Conflicts: vcl/qa/cppunit/filter/ipdf/ipdf.cxx Change-Id: I6b81089a3f58a2de461ad92ca5a891c284f8686a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/105626 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com> (cherry picked from commit 8f46af565680bef0ff8ca32781e6d813a7446543) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/107061 Tested-by: Michael Stahl <michael.stahl@cib.de> Reviewed-by: Michael Stahl <michael.stahl@cib.de>
2020-11-24Remove unused ScrollBarBox from tabpageSamuel Mehrbrodt
This displays an empty rectangle at the upper left of the tabpage. Change-Id: I8424a3f8ec4896814b135aa2c86012f0b33ee1be Reviewed-on: https://gerrit.libreoffice.org/c/core/+/106479 Tested-by: Michael Weghorn <m.weghorn@posteo.de> Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2020-11-20Fix tdf#138373 scrollbars can now actually be nullptrThorsten Behrens
Change-Id: I224969de51a1d7e0176facb503a5b27cd8da530c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/106263 Tested-by: Thorsten Behrens <Thorsten.Behrens@CIB.de> Reviewed-by: Thorsten Behrens <Thorsten.Behrens@CIB.de>
2020-11-12Create tabpage scrollbars only on demandThorsten Behrens
Otherwise glade-ui code gets confused to find controls it never generated. Change-Id: Iaf9a6e6aa5080f7a49bb754fe967e6a85e80cfae Reviewed-on: https://gerrit.libreoffice.org/c/core/+/105572 Tested-by: Thorsten Behrens <Thorsten.Behrens@CIB.de> Reviewed-by: Thorsten Behrens <Thorsten.Behrens@CIB.de>
2020-10-27tdf#134351: do not apply autofilter if all entries are selectedXisco Fauli
Change-Id: I33cdfe07cc53b579bbe16486f302daf7bd3da841 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/103352 Tested-by: Jenkins Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org> Signed-off-by: Xisco Fauli <xiscofauli@libreoffice.org> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/103569 Reviewed-by: Thorsten Behrens <Thorsten.Behrens@CIB.de>
2020-10-06Permit scrollable AWT tab pages a la scrolled DialogThorsten Behrens
UNO dialogs since LibreOffice 4.0 permitted setting HScroll / VScroll properties to enable scrolling for too large a content. Conceptually clone this code over to TabPage as well, and register necessary UNO properties in the toolkit UNO wrappers. Add missing API documentation also to UnoControlDialogModel, plus the new properties to the UnoControlTabPageModel. Change-Id: Iff90f60d0152ca21e4fe61c31315b9e1feab0dea Reviewed-on: https://gerrit.libreoffice.org/c/core/+/103999 Tested-by: Thorsten Behrens <Thorsten.Behrens@CIB.de> Reviewed-by: Thorsten Behrens <Thorsten.Behrens@CIB.de>
2020-09-28Merge branch 'libreoffice-6-4'Michael Weghorn
into distro/lhm/libreoffice-6-4+backports Change-Id: Id89f295a3e669a51da822c09a759165dfc79dc6f
2020-09-23ofz#25684 keep ParseCMAP within legal areaCaolán McNamara
Change-Id: Iee18b5a9390b79efa67414ea2d229d2816c84e18 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/102776 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com> (cherry picked from commit a014c82522834c972e247a28d8e5f42998ae3c0e) ofz#25696 OOM Change-Id: Ia69e9ce1ca0156e960dddb7e0bf98dfd2be2d7cc Reviewed-on: https://gerrit.libreoffice.org/c/core/+/102846 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com> (cherry picked from commit d57b14e3394b081adf0888ed8dcb7b86d66c246c) ofz#25774 keep ParseCMAP within legal area Change-Id: Ic68fadd3d63631cbccda76e7679d95bb89452d25 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/103017 Tested-by: Caolán McNamara <caolanm@redhat.com> Reviewed-by: Caolán McNamara <caolanm@redhat.com> (cherry picked from commit f8474367449a1b6b54918d2753e3a36798761839) Fix crash from broken font CMAP subtable ParseCMAP crashes on a broken CMAP subtable of a font used by the bugdoc of tdf#119074, which returns a negative offset (technically it's large positive offset turning into a wrong negative integer, which is still out of bounds of the CMAP overall size - you get the point). This simply ignores that broken subtable, checking for other existing ones. Regressed-by: c7482bc2904401e7d975b5721ec861b8589253f9 Change-Id: I95820fe3bb6bd2fe2e0cf9d4c3536abce31fd497 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/103033 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com> (cherry picked from commit 9bf4c5ac49b73cc2a8c89a87ff87238c061a579d) Missing include (for std::max, since f8474367449a1b6b54918d2753e3a36798761839 "ofz#25774 keep ParseCMAP within legal area") Change-Id: I873c788577e9ec3bd54d9e637d2cf86be7c1f6e6 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/103089 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com> (cherry picked from commit 8cc52b05744443c64cf5eb62ebe3098cd964c437) ofz#25855 overflow in nTmpOffset we already know nLength is >= 24 so just move the calc to the other term Change-Id: Ic52f1686ccf81e6b13d7eb7e74dbd9cb51c8ea01 ofz#25868 Timeout, encoding conversion only sane in 0..SAL_MAX_UINT16 range so ignore points outside that range to avoid ludicrous ranges that aren't possible in the input encoding Change-Id: Ifb7b9b389d4a31b8820a7da661249223fe1e110c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/103261 Tested-by: Jenkins Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2020-09-11Merge branch 'libreoffice-6-4'Michael Weghorn
into distro/lhm/libreoffice-6-4+backports Change-Id: Ib3030257fb7c4eec5b910c0b49332be0dd8fa854
2020-09-10xmlsecurity: pdf incremental updates that are non-commenting are invalidMiklos Vajna
I.e. it's OK to add incremental updates for annotation/commenting purposes and that doesn't invalite existing signatures. Everything else does. (cherry picked from commit 61834cd574568613f0b0a2ee099a60fa5a8d9804) [ Also disable a pdfium assert on Windows, only on this branch, where it fails during CppunitTest_xmlsecurity_pdfsigning for reasons unclear to me. ] Conflicts: include/vcl/filter/PDFiumLibrary.hxx vcl/source/pdf/PDFiumLibrary.cxx Change-Id: I4607c242b3c6f6b01517b02407e9e7a095e2e069 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/102325 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2020-09-10tdf#127932 fix wrong page number in print progressJuergen Funk
- in ctor, reset start pages to non-inflated value after size calculation - update label, _then_ progress in setProgress() Change-Id: I66576e339de814922512b68167e6c0a9b1025378 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/102031 Tested-by: Thorsten Behrens <Thorsten.Behrens@CIB.de> Reviewed-by: Thorsten Behrens <Thorsten.Behrens@CIB.de> (cherry picked from commit 63bf8f042abe3c0f6989f6763d13f5389182b816) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/102281 Tested-by: Jenkins
2020-09-09pdfium: only init pdfium library once and destroy on LO exitTomaž Vajngerl
With more and more usage of PDFium, it is hard to keep track of the life-time of the PDFium library, so it can happen that a FPDF_DestroyLibrary happens when we still have another instance where PDFium is still use. The result of this is a crash. To prevent this, just initialize the library once and delete, when on LO exit. This can be improved in the future to only keep the library active when in actual use. [ Leaving out the vector graphic search bits, the motivation is to just have this in libreoffice-7-0, so that recent pdf sig verify improvements can be backported. ] (cherry picked from commit 067a8a954c8e1d8d6465a4ab5fb61e93f16c26c2) Conflicts: vcl/source/graphic/VectorGraphicSearch.cxx Change-Id: I5c7e5de7f8b97d10efb394c67c7a61b976c8d57c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/102317 Tested-by: Miklos Vajna <vmiklos@collabora.com> Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2020-09-09tdf#134477 add VclMessageType::Other to indicate image-less generic InfoBoxCaolán McNamara
Change-Id: I76e86bf4d82b33771ea2900517712be57ae7f03d Reviewed-on: https://gerrit.libreoffice.org/c/core/+/102130 Tested-by: Jenkins Reviewed-by: Adolfo Jayme Barrientos <fitojb@ubuntu.com>
2020-08-25tdf#136094 Handle background color in drawNativeControlMichael Weghorn
Make gtk3's 'GtkSalGraphics::drawNativeControl' take into account a control's background color, if any is explicitly set: Set background/fill color (in 'Edit::ApplySettings') also for the case where the control is drawn "natively", but don't draw the background in the generic 'Window::Erase' method for the case of native drawing; instead handle it when drawing the control itself. This adds an additional parameter to pass the background color to the relevant '{d,D}rawNativeControl' methods (defaulting to 'COL_AUTO') and implements the required handling to apply the background color for the gtk3 case. qt5/kf5 will probably be handled in an upcoming commit as well. Windows as well as the "gen" VCL plugin were not affected by the issue, so remain unchanged and just ignore the new parameter. In a quick test on on macOS, the rendering of the controls in the sample doc was broken beyond just the missing background colors (s. screenshot attached to tdf#136094); the behavior there also remains unchanged by this patch, the new parameter is ignored for now. Change-Id: I01923a504fea2367ae96032104f09099e35f410e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/101284 Reviewed-by: Michael Weghorn <m.weghorn@posteo.de> Tested-by: Michael Weghorn <m.weghorn@posteo.de> (cherry picked from commit 2c9052802ea411dffbf5906c4914611fcbfbc6a5) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/101166
2020-07-30xmlsecurity: detect unsigned incremental update between signaturesMiklos Vajna
(cherry picked from commit 7468d5df5ec79783eae84b62bdc5ecf12f0ca255) Conflicts: vcl/source/filter/ipdf/pdfdocument.cxx xmlsecurity/source/pdfio/pdfdocument.cxx Change-Id: I269ed858852ee7d1275adf340c8cc1565fc30693 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/99382 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2020-07-08tdf#130991 Scale the drop-down arrow size-requestJan-Marek Glogowski
When requesting the size of the drop-down arrow button, the arrow rect must be scaled, like all other native size requests. Change-Id: Ic0ccd96e812527c880868d385484655526ebb09b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/97536 Tested-by: Jenkins Reviewed-by: Tor Lillqvist <tml@collabora.com> (cherry picked from commit ba956e60a868e98d22bc95efd041f423987e7f76) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/97576 Reviewed-by: Adolfo Jayme Barrientos <fitojb@ubuntu.com> (cherry picked from commit f0daeb39aa61cc3435630cf0b9727f6da818de1a) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/97679 Reviewed-by: Thorsten Behrens <Thorsten.Behrens@CIB.de>
2020-07-07tdf#134054 toolbox: respect drop-down arrow rectJan-Marek Glogowski
When centering the text and icon on the button, the code didn't take the drop-down arrow rect width into account, resulting in an overlapped arrow. This is especially visible, if the drop-down is shown and the button is wrongly highlighted. There is supposed to be some vertical mode, which I couldn't find in the GUI, so this just adapts the width in horizontal mode. Change-Id: I194780dc32db610041ad0ee45a425e1026c7c4e3 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/97358 Tested-by: Jenkins Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de> (cherry picked from commit 8565546ce6a04f6f243f4f60d2693b148dca5a77) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/97688 Reviewed-by: Thorsten Behrens <Thorsten.Behrens@CIB.de>
2020-07-07tdf#130991 Fit the drop-down arrow into its rectJan-Marek Glogowski
Looking at the original fixed-size arrow painting code replaced in commit b62c43d1200e524369d9c7c2bd1dad3044efd672 ("Anti-alias toolbar button drop-downs."), it used some fixed values of 5 and 3 to match the arrow box width of 11. The new code assumes the width is the expected arrow size, minus a minimal margin to separate the arrow from the button border, and there is enough height available. Based on these assumptions, the code now scales, positions and paints the triangle to fill the available space. Change-Id: Ied721e494d105106086ef6252e72ae7395eafe08 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/97537 Tested-by: Jenkins Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de> (cherry picked from commit 1cb897a0f65ba066d1e81b62c70c3e46bbdb7ba8) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/97583 Reviewed-by: Adolfo Jayme Barrientos <fitojb@ubuntu.com> (cherry picked from commit b0315eb69c62f2108983e6a4b2177cf28a2663bf) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/97687 Reviewed-by: Thorsten Behrens <Thorsten.Behrens@CIB.de>
2020-07-06tdf#133877 use optimal size for hamburger buttonJan-Marek Glogowski
This way it'll properly scale, instead of using the fixed 28 pixel dimension. This is a hack, which is used a few more times in VCL. Still this should not be needed, but done automatically. If there aren't any constraints, just return the optimal size! Change-Id: I8aa32645ea95cba28d0daf56f0be27c15153b6c9 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/96390 Tested-by: Jenkins Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de> (cherry picked from commit eff34e639055701b1299c07e6cdc0ce07cfc0936) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/96411 Reviewed-by: Adolfo Jayme Barrientos <fitojb@ubuntu.com> (cherry picked from commit 1c73b219487b2aa60d888755cf4eca082e6b00c0) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/97464
2020-07-06tdf#123292 notebookbar: vertical align for shortcuts toolbarSzymon Kłos
Change-Id: I2f2ccee9d6c01962d5d8609ea55c0c2bca6b5cb6 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/92892 Tested-by: Jenkins Reviewed-by: Szymon Kłos <szymon.klos@collabora.com> (cherry picked from commit 96e5121869e95a8e28788a91ce0dc480e5f10c0b) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/97463 Reviewed-by: Adolfo Jayme Barrientos <fitojb@ubuntu.com>
2020-06-25tdf#133859 Wizard service: disable 'Next' button if path has only base itemIlhan Yesil
If the wizard dialog for extensions has only the base item in the first path, there is no need to proceed to the next page, as there is no one. This will be checked and if so, the 'Next' button disabled. In libreoffice versions before 6.4, an ORoadmap class was used in the wizard. There, if the ORoadmap data are reinitialized, the InCompleteHyperLabel object must be destroyed first, before it will be set to nullptr. Change-Id: I5b4b2e6b3666b58acccace385c622f0a065fc368 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/95969 Tested-by: Jenkins Reviewed-by: Thorsten Behrens <Thorsten.Behrens@CIB.de> (cherry picked from commit 54a3daec02f2eeada04efcd7958da4152db4611a) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/96795
2020-06-05tdf#133271 sw textbox: handle TextRotateAngle shape propertyMiklos Vajna
Shape with btlr text direction is imported as TextPreRotateAngle=-270 from DOCX. Saving this to ODT turns the property name into TextRotateAngle and its type into double. Handle that as well to survive the ODF roundtrip of a shape+textbox where the textbox has a btlr text direction. (Also add a way to make multiple tests in a suite to be more independent from each other: depending on ordering, the new test made the old test fail. Calling ErrorRegistry::Reset() makes that go away.) Change-Id: Iea9212f3bbb01059caf3b0f2d809e48debf52953 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/95340 Reviewed-by: Miklos Vajna <vmiklos@collabora.com> Tested-by: Jenkins (cherry picked from commit 413791a65597a1808d9b98e4887864f3624b70cc) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/95318 (cherry picked from commit e05a39f75cd304bfc1bd59aa2eebe4889cae109f) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/95411 Reviewed-by: Michael Stahl <michael.stahl@cib.de>
2020-06-01Resolves: tdf#133411 drop CONTENT_FLOWS_TO from dialog to search resultsCaolán McNamara
in the document, looks like only the calc one actually works, and when it works on large quantities of results calc grinds to a complete halt This was introduced with: commit b41332475783c31136673fb44cf4c411bb0148f8 Date: Mon Dec 2 15:54:29 2013 +0000 Integrate branch of IAccessible2 and has been a problem on and off with calc's potentially ~infinite grid There is the on-by-default search results dialog in calc (which has a limit on how many it shows) which provides an alternative route to iterate through the results Reviewed-on: https://gerrit.libreoffice.org/c/core/+/95006 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com> (cherry picked from commit 0b94169d820482434dc98a37c3c1633ca46fd0dc) Change-Id: I2685e480d2d15220be0bddbc83baad3992e7d5d1 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/95014 Tested-by: Jenkins Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2020-05-15tdf#132788 vcl: fix redraw on theme changeMiklos Vajna
Regression from commit f4e0cc1ff145287f80738f070a8c46a64b2f76d1 (tdf#92079 vcl: fix missing image background on dialog from basic, 2019-06-13), the original scenario was about an unexpected change from bitmap wallpaper to a non-bitmap one. That means the condition for the above change can be more strict: just restore the old wallpaper if it's now a non-bitmap one, otherwise leave it alone. This way the above scenario keeps working and changing themes again doesn't require a restart of the process. (cherry picked from commit 52389ed19da6bcfdedef909532913ff3e2ab4afc) Change-Id: I256372ad30184cc150d6819dd61cdd38af7d83ba Reviewed-on: https://gerrit.libreoffice.org/c/core/+/94194 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2020-05-15tdf#131333 SalMenus propogate to parent their selected id conditionallyCaolán McNamara
Menu::Select depends on its handler returning false to allow propogating a submens's selected id to its parent menu to become its selected id. without this, while gen menus already have propogated this to its parent in MenuFloatingWindow::EndExecute, SalMenus as used under kf5/macOS won't propogate the selected id Change-Id: I1d87cb0deacdf5fbfb837acc21c2d23b79525aae Reviewed-on: https://gerrit.libreoffice.org/c/core/+/94268 Reviewed-by: Adolfo Jayme Barrientos <fitojb@ubuntu.com> Tested-by: Jenkins
2020-05-13tdf#132832 calcAdjustedSize: Take max width into accountMichael Weghorn
Actually take into account the preferred width when calculating the size of radio button, checkbox and hyperlink controls. This e.g. makes word wrap work properly when the multiline property is set for a checkbox, radio or hyperlink control and the single line text exceeds the preferred width, rather than keeping the whole text in one line that exceeds the preferred width. Change-Id: Id04668e4e1afe7c10a28468eff05cf04c10ae3c0 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/93947 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de> (cherry picked from commit 2539f1d142e0077dfeec36ef349a1f5443f1c94b) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/93798 Reviewed-by: Adolfo Jayme Barrientos <fitojb@ubuntu.com>
2020-05-09tdf#132267 vcl: fix missing scrollers with non-native renderingMiklos Vajna
Regression from c04169c586ef1d55b1d0ac469bb4fbd4f50bd08a (tdf#125415 vcl menu floating window: avoid flicker, 2019-05-21) the problem was that the clip region was set on the buffer, not on the render context. This means the original clip was used to determine what gets copied from the buffer to the screen, so the scroller arrows were not rendered. (cherry picked from commit a65ec136fbd0dae889b20fba657b40af467fcb27) Change-Id: Id173e6333721891798da58baf2092f4cd21a62ba Reviewed-on: https://gerrit.libreoffice.org/c/core/+/93780 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2020-05-08On iOS, avoid catching exceptions to just immediately exit or abort anywayTor Lillqvist
It is better to let the exception be uncaught and then catch that in the debugger. (Maybe even inspect its backtrace from a crash dump automatically sent from an end-user device.) Change-Id: Ice02d5cbd7f4a59eae7ce8a9fac47dec8b234a5e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/93505 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Tor Lillqvist <tml@collabora.com> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/93601 Tested-by: Jenkins Reviewed-by: Andras Timar <andras.timar@collabora.com> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/93646
2020-05-06tdf#64690 - Extend selection on find/replaceAndreas Heinisch
In the Basic code window, extend the selection on the last paragraph during the search/replace process in order to consider newly inserted text portions. Change-Id: I27ad998709ac25cffbef4a354c87d422f97e1b51 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/93432 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> (cherry picked from commit e7f3731b8d3e930f85e7df0c0e55bbb1aaea191b) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/93377 Reviewed-by: Xisco Faulí <xiscofauli@libreoffice.org>
2020-05-06Revert "tdf#125609c10 vcl/button: enforce only one radio selected on init"Justin Luth
This reverts commit d35171456bc230efdaa9426da1398b2db7fa0df8, in order to resolve tdf#132581. Only applying this to LO 6.4 which is nearing stable. An attempt to find the real problem will be made for 7.0, but since this reverted commit is really obsolete, it can easily just be reverted. (It fixes a situation caused by a commit that has since been fully reverted. So it should still be a valid fix, but if it exposes other problems, it can easily just be removed to cover them up again...) Change-Id: I0d765ce0cc4ab2b9d282d36a239518d43d6015ee Reviewed-on: https://gerrit.libreoffice.org/c/core/+/93522 Tested-by: Jenkins Reviewed-by: Justin Luth <justin_luth@sil.org> Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2020-04-25tdf#131496 vcl image lazy load: speed up vector images with custom pref sizeMiklos Vajna
This speeds up the loading of the bugdoc: - old cost: 6378 ms - new cost: 1891 ms (30% of baseline) Images were initially loaded at import time, but commit acb803b730f2c6bd82e39beab58949ec14f85eb0 (tdf#125591 DOC import: lazy-load metafiles with explicit size, 2019-06-11) changed this, so that they are lazy-loaded. That improved performance, but sometimes gave incorrect results. Then commit d8371cdfd092c6426c01aae130ea4eaa6d627a6f (tdf#127446 vcl image lazy-load: fix custom size handling of metafiles, 2019-09-30) fixed the correctness problem, but the loading was no longer lazy in the tdf#131496 case. This is an attempt to bring back lazy-loading for vector-based images, while maintaining the correct preferred size. The problem was that the PPT import triggered a vector -> bitmap conversion during load: #0 0x00007ffff03c7e36 in ImpGraphic::loadPrepared() (this=this@entry=0x1f88a90) at vcl/source/gdi/impgraph.cxx:1424 #1 0x00007ffff03c72c7 in ImpGraphic::ImplSwapIn() (this=0x1f88a90) at vcl/source/gdi/impgraph.cxx:1444 #2 0x00007ffff03c7535 in ImpGraphic::ensureAvailable() const (this=this@entry=0x1f88a90) at vcl/source/gdi/impgraph.cxx:1402 #3 0x00007ffff03c9481 in ImpGraphic::ImplExportNative(SvStream&) const (this=0x1f88a90, rOStm=...) at vcl/source/gdi/impgraph.cxx:1590 #4 0x00007ffff03bf9a8 in Graphic::ExportNative(SvStream&) const (this=this@entry=0x20534e0, rOStream=...) at vcl/source/gdi/graph.cxx:544 #5 0x00007ffff1c79a28 in svt::EmbeddedObjectRef::SetGraphicToContainer(Graphic const&, comphelper::EmbeddedObjectContainer&, rtl::OUString const&, rtl::OUString const&) (rGraphic=..., aContainer=..., aName="Object 1", aMediaType="") at svtools/source/misc/embedhlp.cxx:773 #6 0x00007ffff1c79b6f in svt::EmbeddedObjectRef::AssignToContainer(comphelper::EmbeddedObjectContainer*, rtl::OUString const&) (this=0x207ae90, pContainer=pContainer@entry=0x1f8de40, rPersistName=...) at svtools/source/misc/embedhlp.cxx:369 #7 0x00007ffff239f736 in SdrOle2Obj::Connect_Impl() (this=this@entry=0x20734f0) at svx/source/svdraw/svdoole2.cxx:984 #8 0x00007ffff23a6310 in SdrOle2Obj::Init() (this=this@entry=0x20734f0) at svx/source/svdraw/svdoole2.cxx:695 Try to defer that conversion by not doing a maVectorGraphicData->getReplacement() in ImpGraphic::ImplSetPrefSize(), rather just store the preferred size and apply it later when getReplacement() is called. This helps, because the above OLE-from-PPT case loads the graphic, but only to export it as SVM, so it doesn't need a vector -> bitmap conversion otherwise. (cherry picked from commit 952cc68929f863784c6b01c9dc071494892877d1) Change-Id: I24790c0a3e298d5fbb3faff35d529e79cc72845a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/92156 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2020-04-09tdf#131969: Fix reading SHORT Orientation valueStephan Bergmann
<http://www.cipa.jp/std/documents/e/DC-008-2012_E.pdf> "CIPA DC- 008-Translation- 2012: Exchangeable image file format for digital still cameras: Exif Version 2.3" documents that the Orientation tag 0x0112 expects a count of 1 values of type SHORT (16 bit), and details that values <= 4 bytes are stored in the Value Offset field always using bytes starting from the left of the field. This is a regression introduced with 42c0e433aca68c669bc0f55af404b6bae1655fba "Avoid -fsanitize=misaligned-pointer-use". That commit had wondered why the original code had used OSL_SWAPWORD instead of OSL_SWAPDWORD when reading and writing such orientation values. It turns out that that original code had happened to work correctly when processing either little or big endian data on a little endian machine. (Though it would have worked incorrectly when processing either little or big endian data on a big endian machine.) And with 42c0e433aca68c669bc0f55af404b6bae1655fba, the code worked when processing little endian data on a little endian machine, but failed when processing big endian data on a little endian machine, as is the case for tdf#131669 on e.g. x86_64. (read32 has become unused and is thus removed.) Change-Id: I7992629048ac44c00ee703c75164f3d094773244 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/91881 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com> Reviewed-by: Tomaž Vajngerl <quikee@gmail.com> (cherry picked from commit fd5961cb0e2ebc2f5797f76a2b1f9fd52ca4b3ab) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/91889 Reviewed-by: Michael Stahl <michael.stahl@cib.de>
2020-04-08Resolves: tdf#131715 don't keep trying the same page if we're already on itCaolán McNamara
return of false means we didn't change page for some reason, the idea is that it might be blocked to go to another page, in which case sync with what page we ended up on, but don't bother with that if the dest page would be the same as the current page Change-Id: I280128240601413fb6d027d001b2ecc9a4efa76f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/91718 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.stahl@cib.de>
2020-04-08tdf#131490 sw btlr: fix handling of vertical textMiklos Vajna
Latin text goes from l->r, then t->b. If we rotate to the right, then we get t->b, then r->l. Vertical text in vcl's Font means the individual glyphs are painted in a way that looks "non-rotated" in the tbrl case. btlr is not symmetric to this: if you rotate to the left, then Latin and vertical text is handled the same way, i.e. there is no compensation at a glyph level. This means that as far as vcl is concerned, the Font's vertical flag has to be true in the tbrl case, but no in the btlr one. Fix SwFont::SetVertical() to do this, which means that rotating at a character level or using the btlr text direction will result in the same rendering for a one-liner text. Regression from commit 89e5b431d468745da3a1eff14d48296107b9101b (sw btlr writing mode: implement DOC filter, 2019-03-28). (cherry picked from commit a8d26a0bb40c101394ded8061d1b58048153631b) Change-Id: I2619c77a3b2597dbf9feab6c7042e8d8c7454197 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/91820 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.stahl@cib.de>
2020-03-25tdf#131280 Fix endless invalidation loop on documents with form controlsSamuel Mehrbrodt
Restores a condition which was removed in 8de98e61fbc96bf523b3dec7e1e52eb7e2d7693e Change-Id: I68a9f8a362d2ded9975e7c73e2a0533aa5ad9e94 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/91053 Tested-by: Jenkins Reviewed-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de> (cherry picked from commit 4af18ebae9d74b43fcd114d5fa5b145586651bc2) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/90957 Reviewed-by: Xisco Faulí <xiscofauli@libreoffice.org>
2020-03-24tdf#131434 ensure expander icon column is createdCaolán McNamara
which the normal ::insert case does, but the bulk insert omitted Change-Id: I9b236e5f0e91292539164d39f0f90e109a1b503e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/90825 Tested-by: Jenkins Reviewed-by: Adolfo Jayme Barrientos <fitojb@ubuntu.com>
2020-03-17tdf#130150 Improve clipping in PDF exportArmin.Le.Grand (CIB)
For more info and discusson please have a look at the task. It reverts the change from tdf#99680 which did a wrong paradigm change in how clip in Region(s) is defined and tries to fix the underlying error in a more correct way. This includes problems noted in tdf#44388 and tdf#113449. This is a decent improvement, but - due to dealing with numerical problems - not yet the whole healing. Still thinking about how to solve this for good. Adapted PdfExportTest::testTdf99680() and PdfExportTest::testTdf99680_2() as needed, empty clip regions are allowed again. Added comments, too. Had to change solvePolygonOperationAnd to work on ranges if both inputs *are* ranges. The AND-case is then completely solvable. Also increased geometry for transformations of clip geometries - may help later. Change-Id: I2370447597faa6efb81d58ee31c63654e304262e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/89874 Tested-by: Jenkins Reviewed-by: Thorsten Behrens <Thorsten.Behrens@CIB.de> (cherry picked from commit 6dff631f8f4b964b48aadde52a1e1b8b04b9ba53) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/89923 Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2020-03-11Resolves: tdf#131248 a11y crash when closing SQL Edit QueryCaolán McNamara
Change-Id: I39db7b352dd460f46092a054bfa89f5acdda54c1 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/90273 Tested-by: Jenkins Reviewed-by: Xisco Faulí <xiscofauli@libreoffice.org>
2020-03-04Resolves tdf#127782 - New Print dialog is too highHeiko Tietze
Amends Iea41f9cf335b75210de0acf5688fddd5e3dd3dbb Change-Id: Ic669332245ad9c5ee6366765da8a5bc632dd159c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/89423 Tested-by: Jenkins Reviewed-by: Heiko Tietze <heiko.tietze@documentfoundation.org> (cherry picked from commit b268715912d4c2034b9b9d38e75446bef7bbb11f) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/89921
2020-03-02tdf#130515 Time field in Base form will not display correct formatNoel Grandin
regression from commit 65b7b6322b662785bf032e66c76abc36c9a2bb0e Date: Wed Feb 8 10:40:28 2017 +0200 loplugin:unusedenumconstants read-only constants in vcl Change-Id: Icf2e385763c8ece34521895331d148a5baacf2d1 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/89706 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> (cherry picked from commit 9cb07cdca78e2cb1ecff84b7a8e154b23cc2a46d) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/89795 Reviewed-by: Xisco Faulí <xiscofauli@libreoffice.org>
2020-02-27tdf#130679 Draw: Convert to polygon doesn't workNoel Grandin
regression from commit 1cd32bcf1b92bd53320717626601135623dadd55 Date: Mon Dec 10 11:28:59 2018 +0200 loplugin:useuniqueptr in vcl Change-Id: I7753f54822d0249d1fcda97581051d023969fc2f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/89636 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> (cherry picked from commit dc5be8f6020dd812664af250d03d2a14b9e8a3cb) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/89584 Reviewed-by: Xisco Faulí <xiscofauli@libreoffice.org>
2020-02-25tdf#130915 SvTreeList::Move needs to move from lower index to higherCaolán McNamara
the reverse doesn't work Change-Id: I0d84e6e44b26c0c4f1f0d221de3fad03c183f6ff Reviewed-on: https://gerrit.libreoffice.org/c/core/+/89434 Tested-by: Jenkins Reviewed-by: Adolfo Jayme Barrientos <fitojb@ubuntu.com>
2020-02-24Resolves: tdf#130762 honour "wrap" in FormattedFieldCaolán McNamara
Change-Id: Iefd9a537aa358eab179cf6f0eeb6f80a9a77284a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/89011 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com> (cherry picked from commit 20c08e47f7c156a4726194215b389f4d0b165904) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/88953 Reviewed-by: Xisco Faulí <xiscofauli@libreoffice.org>
2020-02-22tdf#130841 resize to client size after SetPosSizeJan-Marek Glogowski
This fixes the hack of the native menu bar with a smaller client size in relation to the frame geometry. Eventually this should be replaced by proper mnTopBorder usage, but this currently isn't working. Change-Id: Ib5825d9c8f77e463fcb086e0373228fe91d8705a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/89202 Tested-by: Jenkins Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de> (cherry picked from commit b26ca5b13733b46c2df0787502f885e15b390956) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/89144 Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>