summaryrefslogtreecommitdiff
path: root/vcl
AgeCommit message (Collapse)AuthorFilesLines
2018-06-01svx: support importing PDF imagesAshod Nakashian1-0/+16
Change-Id: Id4524a30b8f9fa4228c4acb4bf8714700da3017c
2018-06-01svx: support breaking PDFs imported as imagesAshod Nakashian1-4/+5
Change-Id: I990c2b3c3055fbffddedc407c34beb5824277b38
2018-06-01vcl: svx: preserve the imported PDF page number in GraphicAshod Nakashian3-8/+18
Change-Id: I1bb3fa7d44d5f92df2bb8c4ed4b85ccd984c2617
2018-06-01sd: import PDFs as images using Pdfium new SdPdfFilterAshod Nakashian6-35/+48
LOK now opens PDFs as images using Pdfium, which has a superior accuracy and support to poppler, the default pdf reader. (cherry picked from commit 0e8f4f45b44935c7c8002d606b97a48e60e37b23) Change-Id: Ifbbecf7f048f001836fb98886705cba47e6bed4e
2018-06-01vcl: support rendering multiple PDF pages to bitmapAshod Nakashian1-36/+47
Change-Id: Id42ecabcad90dde84475a01e5df4ed94f221f5ce Reviewed-on: https://gerrit.libreoffice.org/51255 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
2018-06-01pdf: share pdf data in GraphicTomaž Vajngerl4-28/+58
(cherry picked from commit e3b59350ddceb158d01dedfe368bb600a9b37ea8) Also includes... graphic: move access to cxx for PDFData and VectorGraphicData We need strict control when PDFData and VectorGraphicData is accessed and changed, so create access methods for PDFData and move the access methods to cxx (for VectorGraphicData). Reviewed-on: https://gerrit.libreoffice.org/52395 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Tomaž Vajngerl <quikee@gmail.com> (cherry picked from commit 18caee072ccbd2be7b947ef2659204d3c18a05f1) Change-Id: I39324a807a4db559bad5501b5913e62a0aeabf01 8146aa4e206788afff71142e1877fd7a885f4652
2018-06-01replace originURL with GraphicExternalLink class (internally)Tomaž Vajngerl2-7/+10
For now just introduce the GraphicExternalLink internally in ImpGraphic, and use it for the origin URL. In a future patch this will store additional data about the link. Reviewed-on: https://gerrit.libreoffice.org/52393 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Tomaž Vajngerl <quikee@gmail.com> (cherry picked from commit a50897107bca839af5665ee0f9621e9cce54900b) Change-Id: I7b4edac80d0e71603d37243ff28bcac1b18fdc01
2018-06-01add GraphicLoader and funct. to load graphic from URLTomaž Vajngerl2-0/+50
Reviewed-on: https://gerrit.libreoffice.org/50538 Reviewed-by: Tomaž Vajngerl <quikee@gmail.com> Tested-by: Tomaž Vajngerl <quikee@gmail.com> (cherry picked from commit 5f618375a5360160e67f6aac4aece90ab218c081) Change-Id: Ib722ee5bc20908d50642b1371b20c878158204cf
2018-06-01bool cast operator for Graphic objectTomaž Vajngerl1-0/+5
Change-Id: Iec236538271b33eb9e6dcfd98903657c1198476e Reviewed-on: https://gerrit.libreoffice.org/50332 Reviewed-by: Tomaž Vajngerl <quikee@gmail.com> Tested-by: Tomaž Vajngerl <quikee@gmail.com> (cherry picked from commit 6fa55d39bc43383fcdb3276e9b7f612fa96d1b67)
2018-06-01graphic: Remember the origin URL after swap out - swap inTomaž Vajngerl1-2/+4
Change-Id: I3874fb43d1b545b334cb7e69fe119945d127f380 Reviewed-on: https://gerrit.libreoffice.org/49646 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Tomaž Vajngerl <quikee@gmail.com> (cherry picked from commit 075e2d8b8d98b1c6daa430e9b9a396b15ba22837)
2018-06-01Add origin URL to Graphic to remember where the image came fromTomaž Vajngerl3-0/+33
Reviewed-on: https://gerrit.libreoffice.org/49554 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Tomaž Vajngerl <quikee@gmail.com> (cherry picked from commit c6a23023150c164a19236139fa413d43006ce21c) Change-Id: I73e7377c2049211de0b464efff03058dc5de33a6
2018-05-23tdf#104893 vcl opengl: fix assert failure when starting chart editingMiklos Vajna1-2/+13
OpenGLContext::prepareForYield() assumed that in case we have a current context, then it's the last one, but that's not the case for chart windows since commit 78b100ec9cb0db2f7b33ece5ad3287a67a37246f (only init the OpenGL context if we need it, 2016-06-07), which creates an OpenGLContext instance (which is then the last one in the context list) but explicitly doesn't initialize it (so that it would become the current one). Fix the problem by resetting not the last but the last current context. (cherry picked from commit 2a6171ed6fb85b3419dcf5cf1346cf1eec447987) Change-Id: Ie0e96927473290590cd6333e5cdcb7daa009431b Reviewed-on: https://gerrit.libreoffice.org/54516 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Bartosz Kosiorek <gang65@poczta.onet.pl> (cherry picked from commit 014a573a05bc69e0883a9e5fccdc7bed72b0a62e)
2018-05-23tdf#105954 PDF export, ReduceImageResolution: fix re-compressing large imagesMiklos Vajna3-0/+52
Expensive re-compress is not pointless when the user opts in to reduce resolution. (cherry picked from commit 9fd6b6b1f5b83d923a47252b744358721761d9cf) Conflicts: vcl/qa/cppunit/pdfexport/pdfexport.cxx vcl/source/gdi/pdfextoutdevdata.cxx Change-Id: I1e04c6d4f0d95d41808ef885082239645401b2e2 Reviewed-on: https://gerrit.libreoffice.org/54470 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com> (cherry picked from commit efd59fd1d7fc9d955a2b924f247709201f2281c5)
2018-05-23tdf#117477/tdf#100243: blacklist Intel HD Graphics 630 for Lenovo...Julien Nabet1-0/+6
+ Intel(R) Iris(TM) Graphics 550 from https://cgit.freedesktop.org/libreoffice/core/commit/?id=ecaabbf527f6f6207ce1ca8924708d23e6db45f5 See https://bugs.documentfoundation.org/show_bug.cgi?id=117477#c4 Change-Id: Ifdd55d5b26ae7ef6d635527050296aa69c2244ab Reviewed-on: https://gerrit.libreoffice.org/54015 Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Julien Nabet <serval2412@yahoo.fr> Reviewed-on: https://gerrit.libreoffice.org/54501 Tested-by: Noel Grandin <noel.grandin@collabora.co.uk> (cherry picked from commit adbb363120ec68eeb342b3472bb6ad5e8a9ac9c8)
2018-05-22Revert "lokdialog: Give non-programmatic name to autofilter"Jan Holesovsky1-2/+0
In the meantime, we are able to treat the title-less pop-ups just fine. This reverts commit a895f6356159f4267c0ac24781814ae0cbcba0b9. Change-Id: I1e2913190e9a1141eddf9aba0732e57bd5407987 Reviewed-on: https://gerrit.libreoffice.org/54635 Reviewed-by: Marco Cecchetti <mrcekets@gmail.com> Tested-by: Marco Cecchetti <mrcekets@gmail.com>
2018-05-22lok: charts context menu was misplaced + wrong LogicToLogic conversionMarco Cecchetti1-1/+13
Chart context menu was misplaced since the context menu expects a position related to the document window not to the chart window. Moreover map mode is not enabled for chart window, that leads to use the LogicToLogic routine which unfortunately provides a wrong pixel to twips conversion. In fact we gets a 20 twips per pixel conversion since LogicToLogic uses a fixed 72 dpi value, instead of a correctly computed output device real dpi or at least the most commonly used 96 dpi value. Change-Id: Idb4220d03fddd4b6d643c1c0fb52754bafed7e36 Reviewed-on: https://gerrit.libreoffice.org/53118 Reviewed-by: Jan Holesovsky <kendy@collabora.com> Tested-by: Jan Holesovsky <kendy@collabora.com> Reviewed-on: https://gerrit.libreoffice.org/54649
2018-05-21lokdialog: For the tunneled top-level popups, provide the position in twips.Jan Holesovsky1-5/+15
Change-Id: I7b1ca50b06c3bdf0958bb88946873c6ddf717b0e Reviewed-on: https://gerrit.libreoffice.org/51952 Reviewed-by: pranavk <pranavk@collabora.co.uk> Tested-by: pranavk <pranavk@collabora.co.uk> Reviewed-on: https://gerrit.libreoffice.org/54630 Reviewed-by: Marco Cecchetti <mrcekets@gmail.com> Tested-by: Marco Cecchetti <mrcekets@gmail.com>
2018-05-17tdf#96947 vcl opengl win: fix background of menu items w/ check/radio marksMiklos Vajna1-13/+38
Extract the actually used bounding box from the rendering code and reuse that for OpenGL texture purposes, so the available and the used size can't mismatch. The background itself is almost invisible, but the borders were lost due to this size difference. (cherry picked from commit b160db926b574b7e9d6696d49dbbce8dd289aade) Change-Id: I31b3e5aa0c0106461b90bfaab3a84d45b33afd71 Reviewed-on: https://gerrit.libreoffice.org/54324 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com> (cherry picked from commit 96bb95e64240ddeb59d623d62fa30b2a7191bfc4)
2018-05-15Resolves: tdf#117413 char doubling appearing under X with gtk3Caolán McNamara2-16/+22
like happened on gtk2, so make the rhbz#1283420 bodge happen for XLIB surfaces, regardless of the backend Change-Id: Ic51679a71523e8cc76832858411b102d915638cf Reviewed-on: https://gerrit.libreoffice.org/53897 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Jean-Baptiste Faure <jbfaure@libreoffice.org> Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk> (cherry picked from commit 17e7bd5e17e3393c44c76b7c69d47ad112e5efa6)
2018-05-15tdf#109143 PDF export: don't reuse compressed bitmaps for cropped imagesMiklos Vajna3-3/+51
PDF wants to loose the pixels masked out by cropping, so the "reuse original compressed image" optimization should not be used in that case. (cherry picked from commit be3ef7b0e5e51c1d97309ce3b6d5cac1fbd025d0) Conflicts: vcl/source/gdi/pdfextoutdevdata.cxx Change-Id: Ifdf2cc4ff6bff0ed456a2159395314817c1cf417 Reviewed-on: https://gerrit.libreoffice.org/53772 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com> (cherry picked from commit e0ae55f7cefe74039f8ade1696d1861e90d73c04)
2018-05-15tdf#116365 vcl opengl: respect max texture size when creating texturesMiklos Vajna1-0/+9
I can't reproduce the crash, but the image in the bugdoc is a large one (23100 x 1364 pixels) and it was black for me. It's rendered correctly now. (cherry picked from commit a3cbd06872b2f9ee9253e5879f590ff1b9eaf365) Change-Id: I72c395af12ef88cf1352602492b84e1dcd04ed14 Reviewed-on: https://gerrit.libreoffice.org/53771 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com> (cherry picked from commit 443b2e6359955b107ba951636b2491b9444d0fee)
2018-05-15Resolves: tdf#116951 rhbz#1569331 start is G_MAXINTCaolán McNamara2-4/+16
and text is nullptr, seeing as an end G_MAXINT translates to str len, assume the same for start Reviewed-on: https://gerrit.libreoffice.org/53376 Reviewed-by: Stephan Bergmann <sbergman@redhat.com> Tested-by: Jenkins <ci@libreoffice.org> (cherry picked from commit 697ebd15d646e41bb69726f7b438ebbfaff141b0) Related: tdf#116951 rhbz#1569331 end should be in terms of unicode chars not bytes Reviewed-on: https://gerrit.libreoffice.org/53175 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com> (cherry picked from commit d4a01820ae094ef2d4ec2196334120600b1c9621) Change-Id: I05114019abb6c283586cd5c23ed1d148c9cf71d3 Reviewed-on: https://gerrit.libreoffice.org/53176 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk> (cherry picked from commit f7d8a6ffae387a2698b07a8841e09ca3ed0bb000)
2018-05-15tdf#95843: Wait for fire_glxtest_process also in --headless modeStephan Bergmann2-0/+18
Discussed with mmeeks on IRC that fire_glxtest_process is probably called as early as possible so that its reuslt is ready by the time it is needed in the non-headless case. So best fix for headless is probably to just wait for the sub-process at an opportune point, instead of redesigning the whole mess so that fire_glxtest_process would only be called once its result is actually needed. Change-Id: I4ea9c9d54b83c9695a3b72317e68fed0c410da0e Reviewed-on: https://gerrit.libreoffice.org/53154 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Stephan Bergmann <sbergman@redhat.com> (cherry picked from commit 4bacf58f4af44ac8c4632b43289ccfcc07e5820c) Reviewed-on: https://gerrit.libreoffice.org/53170 Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com> (cherry picked from commit 6839b7714b80cf28614dcd793edcdeb70dc6ed5f)
2018-04-23Related: rhbz#1396729 use cairo_surface_create_similarCaolán McNamara7-31/+55
where we can Change-Id: If6fd729a9cbf834faef33586b5bd886aad2fbe1d Reviewed-on: https://gerrit.libreoffice.org/52726 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com> (cherry picked from commit b524de950c6eb0bc61d05d41fe69b67ab59b16c6) cairo_surface_create_similar_image is >= cairo 1.12.0 (cherry picked from commit 2ca4b505b25e13c9f422c28252f5b7533b8e3270) Change-Id: I1805e5680beff6c632016686aa661efe25a8c2f8 Reviewed-on: https://gerrit.libreoffice.org/53021 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk> (cherry picked from commit 28f2941680f850e88228e45699ac612ce036cf16)
2018-04-23vcl: WNT: *really* avoid calling SHAddToRecentDocs() from unit testsMichael Stahl1-0/+3
On Windows 10, Explorer spends ridiculous amounts of CPU with updating its recent documents view while tests are running. (cherry picked from commit 94c264859f621e8e7c793fad2beb6528659433bf) It's much better to check IsHeadlessMode anyway because that is set in more situations, and if you run soffice --headless you probably don't want the corresponding files to show up in Explorer's Recently list. (cherry picked from commit b07e8a7e16ba69e822a309ec280d1987f90021a3) Change-Id: I8ada3659d05c94d072ba30859090e835a595e9ea Reviewed-on: https://gerrit.libreoffice.org/53115 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com> (cherry picked from commit c18be7816a253bb03675f74df38b41a999a02952)
2018-04-23tdf#113197 Add MaskPrimitive (clip) to EMF/WMF if neededArmin Le Grand1-5/+27
Added code to quartz vcl implementation that takes care when BitmapPalette.count != (depth^^2)-1 - which may be the case anytime. If then a bitmap value exists that goes beyond that count, a invalid access was executed Change-Id: Iab332c91b8753aab85e9d365323f5c9e531efab2 Reviewed-on: https://gerrit.libreoffice.org/44058 Reviewed-by: Bartosz Kosiorek <gang65@poczta.onet.pl> Tested-by: Jenkins <ci@libreoffice.org> Reviewed-on: https://gerrit.libreoffice.org/53085 Reviewed-by: Armin Le Grand <Armin.Le.Grand@cib.de> (cherry picked from commit 6e591f06e39c69c270c8c01e9ed138d315720624)
2018-04-23tdf#117033 - Tooltips show the wrong symbol for MOD3 combinationsheiko tietze1-6/+6
Symbol for MOD3 added Change-Id: Idb76199fbff240fe39c96ed837db098a4283d70b Reviewed-on: https://gerrit.libreoffice.org/52957 Reviewed-by: Tor Lillqvist <tml@collabora.com> Tested-by: Tor Lillqvist <tml@collabora.com> Tested-by: Jenkins <ci@libreoffice.org> (cherry picked from commit e422efcaff1bf789343a73a16e46b00f303e3032) Reviewed-on: https://gerrit.libreoffice.org/53015 Reviewed-by: Heiko Tietze <tietze.heiko@gmail.com> (cherry picked from commit 54473bec1f419773dd0a44c3ed2754b7f7f7e840)
2018-04-17tdf#116563: floating windows must get input focus at some pointKatarina Behrens1-9/+5
This partially reverts commit bb6a8dce405bd0f and means we need a different solution for tdf#48300 on X11-based Linux frontends. Send _NET_ACTIVE_WINDOW signal only if we want to activate window that has been minimized (ToTopFlags::RestoreWhenMin) or covered by other windows (ToTopFlags::ForegroundTask). Change-Id: I529baf6cc1174728b54bae4c658cf95631da19d6 Reviewed-on: https://gerrit.libreoffice.org/51867 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Katarina Behrens <Katarina.Behrens@cib.de> (cherry picked from commit 0db4e7f60c92313327ae5b1e4307ed4fedfaa6f5) Reviewed-on: https://gerrit.libreoffice.org/52378 Tested-by: Xisco Faulí <xiscofauli@libreoffice.org> Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com> (cherry picked from commit a7e8fa20d8c1a529ef3cd7f69d3afa2e06412800)
2018-04-12Avoid crash-reporter crash.Michael Meeks1-5/+10
http://crashreport.libreoffice.org/stats/crash_details/f5086a7d-3c67-46e4-945e-e0882a604eee Change-Id: Ic9ceed2e736a4ad1c155a31d3b2dc453e6a562aa Reviewed-on: https://gerrit.libreoffice.org/52119 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Michael Meeks <michael.meeks@collabora.com> Reviewed-on: https://gerrit.libreoffice.org/52516 Reviewed-by: Markus Mohrhard <markus.mohrhard@googlemail.com> (cherry picked from commit f4082279078b59f0960d6683d0d039756354eccd)
2018-04-12ofz#7165 set a recursion limit for svm in svmCaolán McNamara3-6/+38
Change-Id: Id9089986012588690b6d5e33cd71d094ef2357dd Reviewed-on: https://gerrit.libreoffice.org/51983 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Michael Stahl <Michael.Stahl@cib.de> (cherry picked from commit 2e82188ff824f9d9f1cf7161f882ff7f3d227e7f)
2018-04-05If the function is in mergelib, store mergelib moduleMike Kaganski1-19/+29
Regression from commit 707f787cd991f9c59712cd3020d127d09605c792 It didn't ensure that we store mergelib when required, thus still trying to get function from stubs and failing (with mergelibs enabled), leading to SEGFAULT later. Change-Id: Ib15528795f3d65b1ae5c31be2aa5284ce5ff04cf Reviewed-on: https://gerrit.libreoffice.org/52428 Reviewed-by: Michael Meeks <michael.meeks@collabora.com> Tested-by: Michael Meeks <michael.meeks@collabora.com> Reviewed-on: https://gerrit.libreoffice.org/52453
2018-03-28lok: 14pt font is too large for the context menus.Jan Holesovsky1-0/+3
Change-Id: I8403b2bea81e61c4fa24ed205b8d2c77a235238b Reviewed-on: https://gerrit.libreoffice.org/51438 Reviewed-by: Michael Meeks <michael.meeks@collabora.com> Tested-by: Michael Meeks <michael.meeks@collabora.com> (cherry picked from commit 8e98b3150f7ac0b569b686dd67f4699b307b30f8) Reviewed-on: https://gerrit.libreoffice.org/51439 Reviewed-by: Jan Holesovsky <kendy@collabora.com> Tested-by: Jenkins <ci@libreoffice.org> (cherry picked from commit 2dd2d2fd9924e50c5b68c8942c26bf8a07fa2bf0)
2018-03-28cid#1430098: mbInSyncExecute is uninitializedPranav Kant1-0/+1
Change-Id: Id5288ce8680b121522c1e35edc52ef24be4ead8b (cherry picked from commit 7be3dfa4b4705725be4987beeb79dbe5f6a4edae)
2018-03-27lok: update main threadHenry Castro4-0/+16
In the pre-initialization phase of the tiled rendering case the SvpSalInstance is created in a different process and when a new process is created (fork), the main thread identifier does not match so it is required to update it. Change-Id: I189e53f0b46c60f34a8016222079c9b1e2b3fef8 Reviewed-on: https://gerrit.libreoffice.org/50477 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Henry Castro <hcastro@collabora.com>
2018-03-27vcl: fix hangs in SvpSalInstanceMichael Stahl7-80/+260
Since commit cb8bfa9a32799bcde4e960fa56e388d5f7b2a928 the main thread will read from the timer pipe until it is empty. But evidently this introduces the problem that the poll() in another thread will not return, as the file descriptor will no longer be readable; see https://paste.debian.net/1011306/ for a reproducer of that rather under-documented poll behaviour. So other threads can get stuck forever in poll, and then the main thread can block in poll too with no other thread to wake it up. This is the problem that plagues UITest_writerperfect_epubexport. The timer pipe is difficult to fix, since the main thread can block on either the poll or the subsequent AcquireYieldMutex(). So replace the timer pipe with a condition etc. that is mostly copied from the OSX AquaSalInstance/SalYieldMutex implementation. The main thread now does something different than the other threads, and blocks on a condition_variable with a timeout, while other threads still block on acquiring the mutex. Non-main threads can poke the main thread to do a DoYield() on their behalf, and then get the result back with a blocking read from a pipe, all while holding the YieldMutex. This requires some fudging of the YieldMutex so that the main thread can borrow the ownership temporarily. Unfortunately SvpSalInstance, in addition to being directly instantiable for --headless, has a whole bunch of subclasses: * HeadlessSalInstance * AndroidSalInstance * IosSalInstance * GtkInstance (in the gtk3 case) * KDE5SalInstance Of these GtkInstance overrides everything related to the DoYield/SalYieldMutex implementation, but the others will be affected by the change. This commit will probably break IOS due to me not understanding the point of the undocumented random #ifdef IOS in svpinst.cxx. Change-Id: I1bbb143952dda89579e97ac32cd147e5b987573c Reviewed-on: https://gerrit.libreoffice.org/50237 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Michael Stahl <mstahl@redhat.com>
2018-03-27lokdialog: Invalidate upon window size changePranav Kant1-0/+6
This problem can be seen with some of the dialogs like chart dialogs where not all of the area which should be invalidated is invalidated. The reason being that their container gets resized but not lok-invalidated. Change-Id: I12eb68e8644ca67b2666badb7b772b92a145c624 Reviewed-on: https://gerrit.libreoffice.org/51264 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: pranavk <pranavk@collabora.co.uk> (cherry picked from commit b2428496de5cd579f4cdb0f149e2cebb8b12dd4d)
2018-03-27lokdialog: Tunnel the spell-checking context menu with recommendations.Jan Holesovsky1-1/+8
Change-Id: I1a7952e88a3f89346c97d2516628b4a7a0423de6 Reviewed-on: https://gerrit.libreoffice.org/51062 Reviewed-by: pranavk <pranavk@collabora.co.uk> Tested-by: pranavk <pranavk@collabora.co.uk> Reviewed-on: https://gerrit.libreoffice.org/51166 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Jan Holesovsky <kendy@collabora.com> (cherry picked from commit 8938e8b153f32f3f5926baddb87cb76c8e72755a)
2018-03-27lokdialog: For floating menus, ignore the screen size in the LOK case.Jan Holesovsky1-4/+10
Change-Id: I85f6fcbc865eba7aac48a4c2e7d8c4bb82311581 Reviewed-on: https://gerrit.libreoffice.org/51063 Reviewed-by: pranavk <pranavk@collabora.co.uk> Tested-by: pranavk <pranavk@collabora.co.uk> Reviewed-on: https://gerrit.libreoffice.org/51165 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Jan Holesovsky <kendy@collabora.com> (cherry picked from commit 194fb89ba76837a93ae2af460a5e592bb7b5f21b)
2018-03-27Blind fix for MERGELIBS buildEike Rathke1-3/+3
It's g_aMergedLib instead of g_aMergedLibs, and osl::Module is not a unique_ptr or somesuch.. commit 707f787cd991f9c59712cd3020d127d09605c792 AuthorDate: Sun Feb 11 00:01:44 2018 +0100 CommitDate: Mon Feb 12 22:27:55 2018 +0100 Change-Id: I1f0266d189546dfe3b0d9eb449c878daebbf0da6 (cherry picked from commit adff6293ce22d84e5a380aa649e7d0f0ffdc4d80)
2018-03-26lok: enable pre-loading with Vcl's builderMichael Meeks1-17/+56
Cache vclbuilder's loaded modules globally & simplify logic. Pre-populate that cache on preload for LOK vs. a somewhat inelegant pre-canned list of dialog libraries. Change-Id: I86d936862a41495fd37908f3ee7eb2e0c363d651
2018-03-26tdf#115117: Fix PDF ToUnicode CMAP for ligaturesKhaled Hosny6-38/+277
Move the glyph to character(s) mapping to CommonSalLayout where we have enough information to do this properly. This correctly handles ligatures at end of run that wasn’t handled before, and also fixes a bug in the PDF writer code when there is more than one ligature in the run (it forgot to clear aCodeUnitsPerGlyph vector after each iteration). Also drop the “temporary” fix for rotated glyph from 2009 that does not seem to be needed now (the document from that bug exports correctly after this change). Change-Id: I5b5b1f4470bbd0ef05cbbc86dfa29d2ff51249ea Reviewed-on: https://gerrit.libreoffice.org/51617 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk> (cherry picked from commit b94a66ebc8db6c5ca9c7dcfdfbb06b49deae4939) Reviewed-on: https://gerrit.libreoffice.org/51715 (cherry picked from commit 90fb652ebbc4b16ae5001140076f52209e913345)
2018-03-26tdf#115420 fix DC usecount and drop wrong assertsJan-Marek Glogowski4-17/+8
For DC initialization we check the thread ID to assign a normal or cached DC to the corresponding WinSalGraphics variable. The cached DC has a usage count, as there are some limits on cached DCs count (DCX_CACHE). But for the WinSalGraphics DC init and release the variable just matters for the accounting, and generally which thread is doing the calls: the non-main thread always has to relay them to the main application thread. Since we're releasing all WinSalGraphics in ~WinSalFrame and do all release and re-init in ImplSetParentFrame, there is no way to correspond the thread ID to the WinSalGraphics variable. So this drops the wrong assertions based on the WinSalGraphics variables and renames the GETDC message to GETCACHEDDC to make usage of a cached DC (DCX_CACHE) more obvious. As a consequence of the different release DC handling this also fixes the accounting of the cached DCs, wich was broken in the initial fix; commit c15ea73f960bbd3d2a4b0c43b467ac62eeba3505 Change-Id: I11ce52a1b4005f26567f92588437fa37bf227a2e Reviewed-on: https://gerrit.libreoffice.org/51318 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de> (cherry picked from commit 8939cb9456ee76a848cc8089747f280751092cf8) Reviewed-on: https://gerrit.libreoffice.org/51549 Reviewed-by: Michael Meeks <michael.meeks@collabora.com> (cherry picked from commit 8e870ea9b828166b89a5c3f6c4f060bde6082f26)
2018-03-26rhbz#1392145 ensure titlebar close button matches 'outside' directionCaolán McNamara3-2/+34
Change-Id: I20e925c58adb56acd4d1a63720d330c8b6613441 Reviewed-on: https://gerrit.libreoffice.org/51434 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk> (cherry picked from commit 029ba7ac94d517143af5166df4e2dcb58b350443)
2018-03-26lokdialog: Fix cursor invalidates for some vcl controlsPranav Kant1-3/+1
... like TextEdit, etc. The problem was that the code assumed that there would be a mpData->mpWindow whenever a new cursor position is set. While that's the case with most views, some controls set the position when there's no window set. With this patch, we send the cursor_invalidate just before we make the cursor visible; by that time, we already have a valid mpWindow set in the ImplCursorData. Change-Id: I2cb40ae150e4d7555f17ebbb8e08c04fc05f447b Reviewed-on: https://gerrit.libreoffice.org/50834 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: pranavk <pranavk@collabora.co.uk> (cherry picked from commit 843f8e43e1e79bbd22cadabb54022c615c7a0d64)
2018-03-25vcl: improve ErrCode std::ostream pretty-printerMiklos Vajna1-1/+1
Let's say you specify a non-existing export filter during conversion. Old output: Error: Please verify input parameters... (SfxBaseModel::impl_store <file:///test.html> failed: 0x81a(Error Area:Io Class:Parameter Code:2074)) New output: Error: Please verify input parameters... (SfxBaseModel::impl_store <file:///test.html> failed: 0x81a(Error Area:Io Class:Parameter Code:26)) The later (at least) allows going to include/vcl/errcode.hxx, searching for Io.*Parameter.*26, and leads to ERRCODE_IO_INVALIDPARAMETER. Change-Id: Iecfcfa4e805147131fde73cc0b89fa38f6ea61d4 Reviewed-on: https://gerrit.libreoffice.org/50421 Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> Tested-by: Jenkins <ci@libreoffice.org> (cherry picked from commit 905d9b81c933b46d0502f982aad1c2931fae0426)
2018-03-25lok: mouse pointer events on document windows onlyPranav Kant3-1/+12
Change-Id: Ie21db52b2dd0d4f55289896caba5174380316e65 (cherry picked from commit 54a8c0e115b24d42f4b4ec6b8194f5b62e08201b)
2018-03-25lok sc: Post mouse events to main threadPranav Kant1-0/+17
Reviewed-on: https://gerrit.libreoffice.org/50253 Reviewed-by: Jan Holesovsky <kendy@collabora.com> Tested-by: Jan Holesovsky <kendy@collabora.com> (cherry picked from commit f48c0d09990e9fa59d1d5f2d1d6e013feedb92d3) Change-Id: I1311938d7c01d0e3bfd239743e6cb2148da56cdf
2018-03-25sc lok: Make the Validation "Invalid value." message box working.Jan Holesovsky1-0/+1
Change-Id: Ic0131fa6fc397ae440efed834266b8396aa9e619 Reviewed-on: https://gerrit.libreoffice.org/50160 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Jan Holesovsky <kendy@collabora.com> (cherry picked from commit b8d5061f54408960177992d0f4be312b7d123167)
2018-03-25tdf#115353 layout fixTamas Bunth1-2/+2
Change-Id: I085b330e6539adb8b924f4d7f4cd10fb593a0da6 Reviewed-on: https://gerrit.libreoffice.org/50257 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Tamás Bunth <btomi96@gmail.com> (cherry picked from commit 8d42909cd326cb26d8ba1fb383b5578f820c72ed)
2018-03-25lokdialog: Allow Execute()ing first, silently cancels othersPranav Kant1-5/+21
We want to be able to detect which dialogs are important and need to be converted to async while not completely disallowing them. Allow only first instance of such dialogs being Execute()d and warn when another such instance tries to Execute(). Change-Id: I6742784fa95d9e3f9ff87ece294126d390ae9e9e Reviewed-on: https://gerrit.libreoffice.org/50092 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: pranavk <pranavk@collabora.co.uk> (cherry picked from commit 391660de4125da06775f7d94ef352da3926c115f)