summaryrefslogtreecommitdiff
path: root/vcl
AgeCommit message (Collapse)AuthorFilesLines
2022-01-11lok: copy over the alpha channel too for cairo...Dennis Francis1-1/+4
...based svp-graphics Change-Id: I653a8e4048c712911f44f610e13c7f6c3e323de2
2022-01-10PDF export of PDF images: preserve hyperlinksMiklos Vajna3-0/+65
The input file has a single page, with a full-page PDF image, which contains a hyperlink. Similar to pdfcrop, we used to wrap this into a form XObject, so page-level annotations like hyperlinks were lost. Explicitly merge page-level annotations from the source page to the page that contains the PDF image to preserve those annotations. (cherry picked from commit 1984a5c140cc3c7c291047dacf3bddd7061d2047) Conflicts: vcl/qa/cppunit/pdfexport/pdfexport.cxx Change-Id: I96e8bc9d33440b91f3514486d6a8bd75047546b2 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/128127 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2022-01-07Backport the better fix of tdf#73523 from masterAndras Timar1-9/+24
Change-Id: If12b17c2ff3adf317a7ea95c1148648194992c77 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/128066 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2022-01-05We don't want or need any LOKClipboard on iOSTor Lillqvist2-0/+9
We use only the system clipboard on iOS. (It is actually called the "pasteboard" in Apple's operating systems.) The code to interface with the system clipboard is in vcl. It has worked fine to copy and paste between the Collabora Office iOS app and other iOS apps without any LOKClipboard being involved. If LOKClipboard is used it doesn't work at all. Change-Id: I0d3b4e3eabe17b633390e071701225e1d356a75a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/127968 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Aron Budea <aron.budea@collabora.com>
2022-01-04lokit: double check for disposed windows & fix leak.Michael Meeks1-3/+3
it seems we can get windows disposed before we get to the emission. <segv> vcl::Window::IsTracking() const vcl/source/window/window2.cxx:341 (anonymous namespace)::LOKPostAsyncEvent(void*, void*) sfx2/source/view/lokhelper.cxx:725 LokChartHelper::postMouseEvent(int, int, int, int, int, int, double, double) include/rtl/ref.hxx:112 SwXTextDocument::postMouseEvent(int, int, int, int, int, int) sw/source/uibase/uno/unotxdoc.cxx:3561 Change-Id: I93aea931dad1e7f43d3d610568424c53d2b22fbc Reviewed-on: https://gerrit.libreoffice.org/c/core/+/127898 Reviewed-by: Jan Holesovsky <kendy@collabora.com> Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
2022-01-04tdf#73523 do not seek backwards, the color mask info is not thereAndras Timar6-1/+94
Change-Id: I97f0fd4f184ea77beeab8b22fc98fdb78472d9bb Reviewed-on: https://gerrit.libreoffice.org/c/core/+/127920 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2021-12-22Related: tdf#140659 improve F6 task pane switchingCaolán McNamara1-8/+22
for native gtk widgets inside vcl docking windows. Put vcl focus in container on F6 so cycling moves between expected panes. Change-Id: I70bd54493a345ae5bdb801caf79d567bc1ae0438 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/114543 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com> (cherry picked from commit 57138e6cfa1dec2c44d7cca55171dca40d45aaa3) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/127283 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Aron Budea <aron.budea@collabora.com>
2021-12-21cid#1473818 Use after freeCaolán McNamara1-24/+25
Change-Id: Idd74e0debd12e42ff97d79b56e76cde6fd98aa2c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/112745 Tested-by: Caolán McNamara <caolanm@redhat.com> Reviewed-by: Caolán McNamara <caolanm@redhat.com> (cherry picked from commit 236f3a8e60e05147a37f294774b0c07d40aff36f)
2021-12-17Make LOKClipboard available to other modulesSzymon Kłos2-6/+19
LOKClipboard has higher level dependencies (sfx2) so it cannot be moved to the vcl where SystemClibpoard instance is created. - introduce new interface LokClipboard to differentiate from SystemClipboard so we can have vcl's and lok's implementations at the same time - publish LOKClipboard using new interface for other modules by adding component file in desktop module Thanks to that when code calls GetClipboard and we cannot get clipboard assigned to the vcl::Window* (for welded widgets) in GetSystemClipboard correct instance is returned (shared clipboard for current view) so we can access content which was copied before. Previously always a new instance was created (with empty content). test ScTiledRenderingTest::testPasteIntoWrapTextCell was broken add some content to clipboard to simulate more real case and test the content copied Change-Id: I23c0298960a710c498646493f33122b908864cba Reviewed-on: https://gerrit.libreoffice.org/c/core/+/126310 Reviewed-by: Luboš Luňák <l.lunak@collabora.com> Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
2021-12-14jsdialog: send default button stateSzymon Kłos1-0/+3
Change-Id: Ida7e9ce598d1fe45e793184ced7f5874e6956e84 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/126648 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Mert Tumer <mert.tumer@collabora.com>
2021-12-10jsdialog: don't send back typed text for comboboxSzymon Kłos3-1/+12
Do the same what we do for Edit fields for ComboBox entry: when content is changed by event coming from the client because user typed something - then don't send back updated text so it will not disturb typing. It was visible with slow debug builds. Change-Id: Ib73096c4b96ebfdfd038ed56234c31ff32a5cda3 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/126549 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Szymon Kłos <szymon.klos@collabora.com>
2021-12-10jsdialog: send info about initial focus in dialogSzymon Kłos1-1/+12
Change-Id: I9daef497cb083e863d45a2acfd7eee3ee92bdc38 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/126565 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Mert Tumer <mert.tumer@collabora.com>
2021-12-09Warn instead of crash when mpDialogImpl is missingSzymon Kłos1-3/+13
In LOK case we have some issues with dialogs to solve. Try to not crash in release but warn. Change-Id: Ic966d2b317a4e454d1d164ae36a96327c435ae6b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/126020 Reviewed-by: Michael Meeks <michael.meeks@collabora.com> Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
2021-12-07fix overflow in cairo downscaled bitmap cache (tdf#137719)Luboš Luňák1-2/+5
In my system, sizeof(long long) == sizeof(long) == 8, so multiplying by LONG_MAX overflows long long. Change-Id: Ieb9613ef05916ef24a64db69f698036ecaf194e2 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/126433 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Michael Meeks <michael.meeks@collabora.com>
2021-11-25jsdialog: sidebar: enable animation panel effectsSzymon Kłos3-3/+15
- enable subcontrol .ui for jsdialogs in annimation panel - optimize to not recreate widget on every sidebar refresh - don't sent close message for whole sidebar when called from subcontrol This fixes widgets in annimation panel like: Direction listbox, or other replacements for selecting color, font etc. for font effect Change-Id: I5683ca9cefe384ed0d2a34d46936ddf4a9b45bce Reviewed-on: https://gerrit.libreoffice.org/c/core/+/125757 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Mert Tumer <mert.tumer@collabora.com>
2021-11-23Crash around help-windows.Michael Meeks1-1/+2
Seems a popular way to crash: vcl::Window::ImplCallMove() vcl/source/window/event.cxx:555 vcl::Window::Show(bool, ShowFlags) [clone .localalias] /usr/include/c++/10/bits/unique_ptr.h:173 vcl::Window::Show(bool, ShowFlags) vcl/source/window/window.cxx:2345 HelpTextWindow::ImplShow() vcl/source/app/help.cxx:371 Scheduler::ProcessTaskScheduling() vcl/source/app/scheduler.cxx:495 Change-Id: I33ca0059844395c41f4d76619cca22aec81df207 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/125709 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Jan Holesovsky <kendy@collabora.com>
2021-11-23jsdialog: correctly clean statically created message dialogsSzymon Kłos2-9/+28
- remember WindowId for statically created message dialogs - remember _DIALOG_ handle for message dialogs so response action can be done Change-Id: I1f6c9877e20dcbed4855b32d1e89d9ce3ff12111 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/125686 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Jan Holesovsky <kendy@collabora.com>
2021-11-23jsdialog: send popup when launched using Popover widgetSzymon Kłos3-4/+19
- enable validity listbox in online - flush when sending close popup to be sure it is sent Signed-off-by: Szymon Kłos <szymon.klos@collabora.com> Change-Id: Icf33e26c48b78ab60030a7395e8c7ee5462fbf7c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/125647 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Jan Holesovsky <kendy@collabora.com>
2021-11-23avoid only painting to windows in LOK mode, not invalidationsLuboš Luňák1-30/+5
9b73d3e8926d5f9b10464d19b539eef3eb088f50 disabled painting to windows in LOK mode, because it doesn't make sense as those windows are not even visible, but it tried to do it by avoiding even invalidations. That can trigger problems because some dialogs actually are forwarded to clients in LOK mode, and apparently they need the invalidations to proceed normally (the Format->Cell dialog in Online didn't repaint scrolling of the Date listbox, I don't know what exactly the actual problem was, but mnPaintFlags were different than when not avoiding invalidations). So revert most of the relevant commits and keep only avoiding actual drawing, which is what 057968bbce406efe6564347329df45b7e did. Change-Id: I4e212966830f4c690e6143b9d5fedbc24619e1ed Reviewed-on: https://gerrit.libreoffice.org/c/core/+/125673 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Jan Holesovsky <kendy@collabora.com>
2021-11-16jsdialog: use string identifiersSzymon Kłos3-31/+43
Thanks to that it is easier to debug and find widgets in maps. Sidebar and notebookbar are now in different map entries. This fixes the issue when destroying notebookbar deleted sidebar's widgets. After this patch sidebar works correctly when using notebookbar mode in lok. Change-Id: Ie9dcb82675129bdb567b766e29779744f500cb48 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/125216 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Szymon Kłos <szymon.klos@collabora.com>
2021-11-03Use JSDialogBuilder for "Find and Replace" dialog.Gökay ŞATIR1-0/+1
Signed-off-by: Gökay ŞATIR <gokaysatir@gmail.com> Change-Id: I31307601f067c9b303854899258139678ddbba57 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/124586 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Szymon Kłos <szymon.klos@collabora.com>
2021-10-29jsdialogs: use for MessageDialogsSzymon Kłos1-2/+2
Change-Id: Ie82558356cd9669f21afefd1ee88d769bf28eb8d Reviewed-on: https://gerrit.libreoffice.org/c/core/+/124270 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Szymon Kłos <szymon.klos@collabora.com>
2021-10-29Make View Certificate sub-dialog asyncSzymon Kłos1-1/+2
Change-Id: I0e1a6a59d856ab266511fc3d6be87fe04c5afdfc Reviewed-on: https://gerrit.libreoffice.org/c/core/+/124143 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Szymon Kłos <szymon.klos@collabora.com>
2021-10-29Make View Certificate dialog asyncSzymon Kłos1-1/+2
Change-Id: Id93145ecf6be3cb558f0ce8d3cc340bbc67095e0 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/124061 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Szymon Kłos <szymon.klos@collabora.com>
2021-10-29jsdialog: enable Digital Signatures dialogSzymon Kłos1-1/+2
In LOK case run it in the readonly mode. In readonly mode we can run it asynchronously. Change-Id: I721dd14fa23d4e30255dd976e0cc2a4f30470a3b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/124058 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Szymon Kłos <szymon.klos@collabora.com>
2021-10-29jsdialog: activate tabpage after switchSzymon Kłos1-0/+4
Change-Id: Ib9f61f9e219f1775bccccdb2304cc7ce9fc8a1ec Reviewed-on: https://gerrit.libreoffice.org/c/core/+/124150 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Szymon Kłos <szymon.klos@collabora.com>
2021-10-29jsdialog: weld Image widgetSzymon Kłos2-0/+26
Change-Id: Iaf900da5d6256b1aa441dc0dad07ba967f88b085 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/123877 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Szymon Kłos <szymon.klos@collabora.com>
2021-10-22Move SalInstanceImage decl to header fileSzymon Kłos2-31/+40
Change-Id: Ic71e10a9cb296e8fed366b7dd622d8875d68f2d9 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/123876 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Szymon Kłos <szymon.klos@collabora.com>
2021-10-22jsdialog: export common properties for ImageSzymon Kłos1-0/+1
Change-Id: Id01686106477cc1911fb5ec345ffcff5537e0de6 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/123884 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Szymon Kłos <szymon.klos@collabora.com>
2021-10-11avoid O(n^2) in VclEventListeners::Call() if possibleLuboš Luňák2-2/+7
The list seems to only rarely change. Change-Id: Ib1263c696619908a2792c67ff04c5a0c5f0a7858 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/123414 Tested-by: Jenkins Reviewed-by: Luboš Luňák <l.lunak@collabora.com> (cherry picked from commit 9402579be9d9a8888af03291edd2478a716f901a) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/123399 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
2021-10-08lok: reset and cancel properly Drag & Drop actionSzymon Kłos1-21/+27
used patch from Henry as a template: https://gerrit.libreoffice.org/c/core/+/118844/17 but without custom actions invocation Change-Id: I8bce66deffee0de16f3c24f009cfee077eb26e82 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/123243 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Szymon Kłos <szymon.klos@collabora.com>
2021-10-07Fix build error in ImplLOKHandleMouseEventSzymon Kłos1-2/+2
Change-Id: I15ec283593c7e5ab05ac5423eed4e4d08f576800 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/123207 Tested-by: Szymon Kłos <szymon.klos@collabora.com> Reviewed-by: Szymon Kłos <szymon.klos@collabora.com>
2021-10-07lok: fix sending mouse pointerHenry Castro1-2/+4
The ScGridWindow is a document window, but the Parent is not the notifier, fix it to send mouse pointer when action is drag & drop. Change-Id: I5071dce2566331ce0268a96e023ffd61a1f09e56 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/118870 Reviewed-by: Szymon Kłos <szymon.klos@collabora.com> Tested-by: Szymon Kłos <szymon.klos@collabora.com>
2021-10-07lok: sc: introduce LocalStartDrag methodHenry Castro4-9/+24
Update the mouse mode to start drag, otherwise it will conflict with normal cell selection. Change-Id: I6d4939b704114e7de1c9c051459fd02100a7536c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/118874 Tested-by: Szymon Kłos <szymon.klos@collabora.com> Reviewed-by: Szymon Kłos <szymon.klos@collabora.com>
2021-10-07lok: add drag & drop functionalityHenry Castro1-0/+57
In the desktop case, the drag over and drag drop events are handled external like GTK framework. In tiled rendering case, we do not have it, so handle the drag and drop events in the cloned ImplLOKHandleMouseEvent function. Change-Id: Ib41232b3b9d5d6d859b2c965311b87af5d193ddd Reviewed-on: https://gerrit.libreoffice.org/c/core/+/118869 Reviewed-by: Szymon Kłos <szymon.klos@collabora.com> Tested-by: Szymon Kłos <szymon.klos@collabora.com>
2021-10-07lok: fix the "mbStartDragCalled" statusHenry Castro1-1/+0
The drag starts it is only called when mouse down + mouse move. Change-Id: Ifadfd904c2be28bd123c17a47a82f49dd6d5a04a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/118867 Reviewed-by: Szymon Kłos <szymon.klos@collabora.com> Tested-by: Szymon Kłos <szymon.klos@collabora.com>
2021-10-07lok: add private member transfer data to GenericDragSourceHenry Castro1-1/+7
In tiled rendering case, the class GenericDragSource is created by default, but it does not hold the transfer data and it cancels the drag & drop. Change-Id: Ib96f426a42e1fdae823e2412dc5280d70b59c44f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/118866 Tested-by: Szymon Kłos <szymon.klos@collabora.com> Reviewed-by: Szymon Kłos <szymon.klos@collabora.com>
2021-10-07lok: add generic class DragContext, DropContextHenry Castro2-0/+59
In tiled rendering case, there is no exists a generic dummy to fire drag over and drag drop events. Change-Id: I1d334df8316a09950c11bc365f12f28f0352dfc6 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/118860 Tested-by: Szymon Kłos <szymon.klos@collabora.com> Reviewed-by: Szymon Kłos <szymon.klos@collabora.com>
2021-10-07lok: introduce local mouse trackingHenry Castro4-14/+58
Add the term local mouse tracking per frame window (per user) instead of global mouse tracking in the desktop case. Change-Id: I3f8c55fc770b4ac7dea167385586d8639ac4d93b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/118856 Tested-by: Szymon Kłos <szymon.klos@collabora.com> Reviewed-by: Szymon Kłos <szymon.klos@collabora.com>
2021-10-07lok: introduce Application::LOKHandleMouseEventHenry Castro3-2/+75
Entry point to call the ImplLOKHandleMouseEvent function mainly to process mouse events. Change-Id: I17513643733bf5990d41ab8cf47cdc322ed526ea Reviewed-on: https://gerrit.libreoffice.org/c/core/+/118846 Tested-by: Szymon Kłos <szymon.klos@collabora.com> Reviewed-by: Szymon Kłos <szymon.klos@collabora.com>
2021-10-07lok: sc: introduce ImplLOKHandleMouseEventHenry Castro2-0/+127
In tiled rendering case, each user has a View/Controller object to interact with a unique document (Model) for collaborating purposes. However, in the desktop case a unique user has many View/Controller objects to handle a unique document, so the user has only one global active focus, capture and tracking window object. In order to handle independent drag & drop for each user, it is created ImplLOKHandleMouseEvent. Change-Id: I735fae9b9858a75f9fedb603798220ab302d65f6 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/118843 Reviewed-by: Szymon Kłos <szymon.klos@collabora.com> Tested-by: Szymon Kłos <szymon.klos@collabora.com>
2021-10-06jsdialog: avoid compiler warning for plain vcl windowSzymon Kłos2-3/+12
Change-Id: Icfe5a07e74801d59d6bb0988948bdf20f22bc3e5 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/123109 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Szymon Kłos <szymon.klos@collabora.com>
2021-10-05do not block out PaintImmediately() in LOK modeLuboš Luňák1-7/+2
I'm not sure why I did this when disabling LOK idle painting, even if a window is not to be painted to, it still needs at least invalidating. Change-Id: Iaed6b1071d05d05d6bf5195f3803afb1fc018508 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/122946 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
2021-10-05Resolves: tdf#140992 Paste/Cut should mark Edit as modifiedCaolán McNamara1-2/+10
Change-Id: Id56b5bf2e922394da7e730f4bab652808253c54e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/122858 Reviewed-by: Michael Stahl <michael.stahl@allotropia.de> Tested-by: Jenkins
2021-10-04jsdialog: sidebar: fix master page layout value setsSzymon Kłos1-0/+2
fixes: https://github.com/CollaboraOnline/online/issues/3322 Change-Id: Iaed50c19d4a0f45b00ada305fadcb1372aa6ba63 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/123037 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Szymon Kłos <szymon.klos@collabora.com>
2021-10-01Stopgap workaround for misspelling wavy underline drawing bug on iOSTor Lillqvist1-0/+5
Explicity make the rectangle white before drawing the red wavy line. Sure, this means that it looks bad if the document background colour is not white. Better than how it looks currently, though, with the rectangle containing the wavy underline ending up (for unknown reasons) black. And most documents have a white background. Change-Id: I92b2246bbdbd1404e4c48292c3610d1582a56163 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/121370 Tested-by: Tor Lillqvist <tml@collabora.com> Reviewed-by: Tor Lillqvist <tml@collabora.com> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/122906 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Szymon Kłos <szymon.klos@collabora.com>
2021-09-30tdf#142415 mouse events not propogated to table control event handlersCaolán McNamara1-0/+7
handle this with explicit callbacks from the cell widget for those events Change-Id: Ie605ca4286afc0fbd321f339fb7963771a303df5 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/122072 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
2021-09-30crashtesting: threaded scaling crash on re-export of ooo24840-1.sxw to odtCaolán McNamara1-1/+3
#13 0x00007f1cb843752a in o3tl::cow_wrapper<ImplBitmapPalette, o3tl::UnsafeRefCountingPolicy>::operator->() (this=0x5596086d5968) at include/o3tl/cow_wrapper.hxx:329 __PRETTY_FUNCTION__ = "BitmapColor& BitmapPalette::operator[](sal_uInt16)" #14 0x00007f1cb843752a in BitmapPalette::operator[](unsigned short) (this=0x5596086d5968, nIndex=nIndex@entry=0) at vcl/source/bitmap/bitmappalette.cxx:139 __PRETTY_FUNCTION__ = "BitmapColor& BitmapPalette::operator[](sal_uInt16)" #15 0x00007f1cb849f5f5 in BitmapInfoAccess::GetPaletteColor(unsigned short) const (nColor=0, this=0x5596085989f0) at include/vcl/BitmapInfoAccess.hxx:114 __PRETTY_FUNCTION__ = "const BitmapColor& BitmapInfoAccess::GetPaletteColor(sal_uInt16) const" the mpBuffer member of BitmapInfoAccess is BitmapBuffer* mpBuffer; not const BitmapBuffer* mpBuffer; so mpBuffer->maPalette.foo() calls non-const variants of foo(), (BitmapPalette::operator[](unsigned short) in this case), which is presumably non the expected outcome, as the copy-on-write mpImpl of BitmapPalette unsafely creates a new copy its internals on the first dereference of mpImpl in a non-const method. Change-Id: I1ebb3c67386a9028e5b8bab4b2d1cc5862700aa1 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/121917 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2021-09-30tdf#143796 Qt5/KF5 fix double-buffer graphicsJan-Marek Glogowski8-65/+43
This is a squashed commit for: "Qt5/KF5 get rid of unneeded own grahics handling" "tdf#143334 Qt5 don't reset buffer on style change" "tdf#144008 Qt5/Kf5 create frames in the GUI thread" commit 963f252cd1ea9c268a6ced68a3454b10cbee1a89 commit ec77a2ed0283cb3446f6e352fc329afd3dfb785c commit 923b30aa27ceb377d6a540c012000e89ce5db31e The first commit exposed the same problem to kf5, the 2nd patch is the real fix and the 3rd partly a regression for kf5 from the 1st commit but also an additional bugfix for qt5. Change-Id: I84b8dd106a35a5c2fda08a525f657b0b733a5cb7 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/121795 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de> Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de> Reviewed-by: Adolfo Jayme Barrientos <fitojb@ubuntu.com>
2021-09-29Related: tdf#144091 svx: fix interaction of transp cell fill and transp shadowMiklos Vajna1-0/+5
This is a follow-up to commit 37a52d30bbfcf1d073779b50139c4dafa507be4b (tdf#144091 svx: fix unwanted blur of shadow from table cell fill, 2021-09-20), where it turned out that the original bugdoc was just a special case of almost full transparency (80%), that's why avoiding the blur fixed the problem. A more general approach instead is to multiply the alpha or the cell fill of table shapes and the alpha of the shadow itself. The end result is the same (80% transparency) for the first bugdoc, but this gives back the blur on the second bugdoc. (cherry picked from commit 00fa364a2403dc23a786d3f91fde06e10b3a4a9a) Conflicts: drawinglayer/source/primitive2d/shadowprimitive2d.cxx drawinglayer/source/processor2d/vclpixelprocessor2d.cxx include/drawinglayer/primitive2d/BufferedDecompositionPrimitive2D.hxx svx/source/sdr/primitive2d/sdrdecompositiontools.cxx svx/source/table/viewcontactoftableobj.cxx Change-Id: I63560e3a73473c70157ecee8365ec7154217f269 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/122680 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/122802 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Miklos Vajna <vmiklos@collabora.com>