summaryrefslogtreecommitdiff
path: root/vcl/inc
AgeCommit message (Collapse)Author
2018-07-02vcl: explicitly qualify ICU types with icu:: namespaceEike Rathke
It will be required by ICU 61 anyway, see https://ssl.icu-project.org/repos/icu/trunk/icu4c/readme.html#RecBuild Change-Id: Iecb30b903e9a67252147a8cc78c641621d763755 (cherry picked from commit f240332f8e965ea17b70b0ccaa9990ce0a53cfc6) Reviewed-on: https://gerrit.libreoffice.org/56735 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com> (cherry picked from commit 4d06789a836f1a271399cd9955b2cb96030f393a)
2018-06-27vcl: refresh font cache only on real changeAshod Nakashian
GTK3 emits way too many style-updated, which triggers font cache updates. The avoidance of unecessary font cache updates was first implemented in 29c55564. Unfortuantely, it seems that the current font-options was never set as last-seen font-options, so still to many fonts-changed were emitted Change-Id: I01a47d4d7fb033e335b1a49ffa6e1bb98f7fd28d Reviewed-on: https://gerrit.libreoffice.org/55423 Tested-by: Jenkins Reviewed-by: Eike Rathke <erack@redhat.com> (cherry picked from commit 5cdda2c5d62829e8bf5ebb6aa58f482182038342)
2018-06-01tdf#117628 crash after closing media player with X11 backendCaolán McNamara
Change-Id: I812da5ddf7343573f93ea64e592442edb31cad2d Reviewed-on: https://gerrit.libreoffice.org/54912 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Christian Lohmaier <lohmaier+LibreOffice@googlemail.com> (cherry picked from commit d9c5e7f4aef8da58b2b59e3259d1704296648cbf)
2018-06-01vcl: svx: preserve the imported PDF page number in GraphicAshod Nakashian
Change-Id: I1bb3fa7d44d5f92df2bb8c4ed4b85ccd984c2617
2018-06-01sd: import PDFs as images using Pdfium new SdPdfFilterAshod Nakashian
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-01pdf: share pdf data in GraphicTomaž Vajngerl
(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ž Vajngerl
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 origin URL to Graphic to remember where the image came fromTomaž Vajngerl
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-15tdf#95843: Wait for fire_glxtest_process also in --headless modeStephan Bergmann
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 McNamara
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-03-27lok: update main threadHenry Castro
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 Stahl
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-26tdf#115117: Fix PDF ToUnicode CMAP for ligaturesKhaled Hosny
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 Glogowski
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 McNamara
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-25lok: mouse pointer events on document windows onlyPranav Kant
Change-Id: Ie21db52b2dd0d4f55289896caba5174380316e65 (cherry picked from commit 54a8c0e115b24d42f4b4ec6b8194f5b62e08201b)
2018-03-22The CT prefix is used by the CoreText APITor Lillqvist
Surely we should not be using it for our own things in our Quartz code, that is misleading. Also bin a silly typedef. Change-Id: Ie932e8784128246ca449608aad3dc96a575ec9d5 (cherry picked from commit 43836528f445061d622b8edc7773ee40798d3a59)
2018-03-21vcl: No need for a double-linked list of dialogs in Execute().Jan Holesovsky
Instead use a simple vector. Change-Id: I50652468cf06ba681d5caccb74a52b32c6c507a0 Reviewed-on: https://gerrit.libreoffice.org/47910 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Michael Meeks <michael.meeks@collabora.com> (cherry picked from commit 1a156644e27a380daed217707a9cff9319f70a49)
2018-03-21svg icon caching even for 1x scalingTomaž Vajngerl
Previously we cached an icon only if we changed the scaling factor or re-colored the icon, however if we have svg icons we want to cache all of the variants, including the unscaled/un-colored one as svg rendering is slower than loading cached png icons. Change-Id: Ie2c14687892bbd12b8e04c690a66c5a1a92ac8b0 Reviewed-on: https://gerrit.libreoffice.org/47498 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Tomaž Vajngerl <quikee@gmail.com> (cherry picked from commit 57d9503056d83605645bf0ad4d5d82a04e28ef98)
2018-03-20vcl-svp: Store 24-bit images in 3-byte pixelsAshod Nakashian
This adds support in headless rendering for more compact 24-bit RGB image storage in 3-byte pixels instead of 4 bytes. There is a conversion necessary to accomodate Cairo, which requires 4-byte pixels, but that is relatively. Early tests show no loss of performance at runtime. Unit tests updated since the bitmap memory bytes are crc-ed, which obviously are different in size if not in content. (cherry picked from commit 354ad875092fd0c3b12f232950375206ec5d66a6) Reviewed-on: https://gerrit.libreoffice.org/46679 Reviewed-by: Jan Holesovsky <kendy@collabora.com> Tested-by: Jan Holesovsky <kendy@collabora.com> (cherry picked from commit 11adb51f2553dc4a838c8668d94909771d70e1ab) Change-Id: I3919f7c56d14d09e67f163f035b4c7683b49087c Reviewed-on: https://gerrit.libreoffice.org/47009 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Ashod Nakashian <ashnakash@gmail.com> (cherry picked from commit 33761c69e9d3fa16e7a5b176200d183dc3236627)
2018-03-19lokdialog: Move the LOKWindowId <-> VclPtr<Window> mapping to Window.Jan Holesovsky
This allows registering & de-registering of non-sfx windows too, and makes the Calc autofilter popup to appear. Change-Id: I7cbbe94d208115aabcb6fa5f964646c7b7ce4c93 (cherry picked from commit d516c5c9819dcd7dc6dded2f8f9d9e44061b23c0)
2018-03-19lokdialog: Move the Notifier down to vcl::Window.Jan Holesovsky
We need to tunnel more than just dialogs, so this is the 1st step to get the Autofilter popup rendered. Change-Id: I6523a39ddc7a6eb2a204e48ab364130a5822f548 (cherry picked from commit ba8154d857aa815ba3c5b52987dc17be6eba7f48)
2018-03-19forcepoint #27 check region bands loaded from stream for consistencyCaolán McNamara
Change-Id: I92376b5fb4208c78fa25a94d4dd394256793161c Reviewed-on: https://gerrit.libreoffice.org/51145 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Michael Stahl <mstahl@redhat.com> (cherry picked from commit 2a63eb8ba642b58814f8a78ba65a2c537aa97cdf)
2018-03-08tdf#115420 WIN clean up WinSalFrames DC handlingJan-Marek Glogowski
We still don't return a SalGraphics object from AcquireGraphics without a valid DC. But internally we keep the WinSalGraphics objects around, so we now have to verify the DC before using it. In the end this also fixes the leak of the threaded SalGraphics of the frame. Change-Id: I267c96c04b7d00cb66a6c84c63d1373ebe0f529f Reviewed-on: https://gerrit.libreoffice.org/50908 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de> (cherry picked from commit c15ea73f960bbd3d2a4b0c43b467ac62eeba3505) Conflicts: vcl/win/window/salframe.cxx Also includes the following patch: WIN rename SalFrames SalGraphics pointers This renames mpGraphics => mpLocalGraphics and mpGraphics2 to mpThreadGraphics. Change-Id: I649b956abc9587f1be74872d439fefc5f5b21135 Reviewed-on: https://gerrit.libreoffice.org/50907 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de> (cherry picked from commit 352bd98892c1cdf95756a49f38c84212eebffd7b) Reviewed-on: https://gerrit.libreoffice.org/50958 Reviewed-by: Michael Meeks <michael.meeks@collabora.com>
2018-02-26tdf#103571: Avoid spurious heavy SalEvent::DisplayChanged callbacksTor Lillqvist
It seems that on some Macs that the NSApplicationDidChangeScreenParametersNotification is sent for unknown reasons quite often. I can reproduce the problem by changing the Dock size in System Preferences while LibreOffice is running, but others seem to get it without resorting to such trickery. The code used to invoke the SalEvent::DisplayChanged callback in all cases, which can be extremely heavy, as it involves re-measuring text layouts all over the place in all open document windows. Avoid that if the geometry in fact has not changed. Sure, there still is the problem that LibreOffice can become unresponsive for several seconds when the display geometry *does* change, like when you attach or detach a display. Change-Id: I659881e5e392bd599f6be190835e32a77d9f4725 Reviewed-on: https://gerrit.libreoffice.org/50249 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Tor Lillqvist <tml@collabora.com> (cherry picked from commit 715b7b6f346fdd9c856db268dcd66334b58c273c) Reviewed-on: https://gerrit.libreoffice.org/50264 Reviewed-by: Michael Meeks <michael.meeks@collabora.com>
2018-02-22tdf#103690: Set up notifications only after VCL has been initialisedTor Lillqvist
On some Macs, it seems that LibreOffice (or any app?) gets an NSApplicationDidChangeScreenParametersNotification as soon as it has started and asked for such a notification. Our handler for that notification assumes that VCL is initialised. Thus we should not ask for such notifications before VCL has been initialised. I could not reproduce the reported crash with an unmodified LibreOffice, only after inserting a sleep after the notifications had been set up. But I am fairly sure this change fixes the problem. Change-Id: I18d342eb7dc0c77cb7fc8623756bead65a1bd329 Reviewed-on: https://gerrit.libreoffice.org/50164 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Tor Lillqvist <tml@collabora.com> Reviewed-on: https://gerrit.libreoffice.org/50197 Reviewed-by: Michael Meeks <michael.meeks@collabora.com> Tested-by: Michael Meeks <michael.meeks@collabora.com>
2018-02-09Removed unused code for reading kern tableKhaled Hosny
Change-Id: I66b17dbee0a04e61b99e23933a7fed4be30f3a93 Reviewed-on: https://gerrit.libreoffice.org/49426 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Khaled Hosny <khaledhosny@eglug.org> (cherry picked from commit e3caecb5a33288dd46a80b2ffcc47a2288305052) Reviewed-on: https://gerrit.libreoffice.org/49451 Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2017-12-28Prevent out-of-order LO event processingJan-Marek Glogowski
There's a callback processing loop, introduced by a7c84375db517769035080c8fed33b2f303fc42f, which releases the SolarMutex and is triggered by a queued user event. Such a scenario can easily be reproduced by any LOK client resulting in hitting the empty user event processing list assertion. I'm not sure this should be handled via LO events at all. So this - again - gets rid of the the assertion and tries to prevent processing the user events out-of-order. In the case of giving up the SolarMutex while processing a user event an other thread or even nested loop can "steal" the user event list and continue processing. Most VCL backends run the event loop just in the main process, so for them this scenario is guaranteed. But the headless backend - running without UI or from LOK - is still allowed to process events in any thread. This is harder to fix and probably should use the same solution the gtk* backends use. This also changes the dequeues into lists to use splice for appending them. Change-Id: Id4a93a01dea415271ad96098830f18f06d4a75b9 Reviewed-on: https://gerrit.libreoffice.org/46550 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Henry Castro <hcastro@collabora.com> Reviewed-by: pranavk <pranavk@collabora.co.uk> Tested-by: pranavk <pranavk@collabora.co.uk> (cherry picked from commit 5469ac13b13e458904900539e6542d4a83d44c4e) Reviewed-on: https://gerrit.libreoffice.org/46890
2017-12-21Resolves: tdf#114592 mark geometry as provisionalCaolán McNamara
when we predict what it will be and use that flag to decide to forward notification of arrival of confirmation of geometry Change-Id: I4a7334d75eb7977c85aebcf2b652cc4b2d6b25bb Reviewed-on: https://gerrit.libreoffice.org/46912 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Eike Rathke <erack@redhat.com>
2017-11-24loplugin:countusersofdefaultparams in sw (1)Noel Grandin
Change-Id: I0d14f9c375f93079aef21ca4f1132adc4e1fe06c Reviewed-on: https://gerrit.libreoffice.org/45207 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-11-23gpg4libre: translatable strings for non-LibO filepickersKatarina Behrens
just strings, code using them is yet to be implemented Change-Id: I03b2c44f574b3212b39bf4aabedf01c577f35de9 Reviewed-on: https://gerrit.libreoffice.org/45156 Reviewed-by: Siegmund Gorr <siegmund.gorr@cib.de> Reviewed-by: Thorsten Behrens <Thorsten.Behrens@CIB.de> Tested-by: Thorsten Behrens <Thorsten.Behrens@CIB.de>
2017-11-23Replace some lists by vectors in vcl/headlessJulien Nabet
+use for range loops when loops included "std::list" Change-Id: Ic261571ef64b1a710233ff949c4feeb3cc4756cd Reviewed-on: https://gerrit.libreoffice.org/45109 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2017-11-18silence some coverity warningsCaolán McNamara
Change-Id: I5a530e37156b5cd36e8a07ac20851880a46f520d Reviewed-on: https://gerrit.libreoffice.org/44875 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2017-11-17vcl: clean ImplFontMetricData::ImplInitTextLineSize a little bit.Mark Hung
Move initialization of FullstopCenteredFlag out of ImplFontMetricData::ImplInitTextLineSize since it has nothing to do with text lines. Change-Id: I1c2e383d980514c8727d736a3158325c1e0ccfda Reviewed-on: https://gerrit.libreoffice.org/44712 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Mark Hung <marklh9@gmail.com>
2017-11-17loplugin:useuniqueptr in MultiSalLayoutNoel Grandin
Change-Id: I57ac9cf988dfccfcb38c69ca9c66c2ad77bbdada Reviewed-on: https://gerrit.libreoffice.org/44819 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-11-16vcl: fix typoMiklos Vajna
Change-Id: I696e3986348034b61b3bbf13fa6db39f2a8f43e0 Reviewed-on: https://gerrit.libreoffice.org/44807 Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk> Tested-by: Jenkins <ci@libreoffice.org>
2017-11-14Two more functions that are private to vcl and not even VCL_DLLPUBLICTor Lillqvist
... and thus don't need to be declared in a public include file. Change-Id: Ia59040d3ef3ebf73b2372531bef086b0847911ce
2017-11-14use std::unique_ptr for SalLayoutNoel Grandin
to make the ownership passing around more obvious Change-Id: I147ec6d9cfe7566cf3600685e0730ed741c2d90d Reviewed-on: https://gerrit.libreoffice.org/43454 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-11-14No need for bestmaxFrameSizeForScreenSize to be declared publiclyTor Lillqvist
It is used only inside vcl, and it should stay that way. Change-Id: Ia1a14ab13cb7d3580771c880f959abb2b695b032 Reviewed-on: https://gerrit.libreoffice.org/44698 Reviewed-by: Tor Lillqvist <tml@collabora.com> Tested-by: Tor Lillqvist <tml@collabora.com>
2017-11-11Replace list by vector for ShowNativeDialog (vcl)Julien Nabet
Change-Id: I1101c5b5426507ce8e5fd1ed34930f385f527775 Reviewed-on: https://gerrit.libreoffice.org/44639 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2017-11-11Replace lists by deques in salusereventlist (vcl)Julien Nabet
Change-Id: I843f63b32a7ed443520f7d3688039c3873114f04 Reviewed-on: https://gerrit.libreoffice.org/44637 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2017-11-10Related: tdf#112549 gtk3 hide/show menubar on enter/exit fullscreenCaolán McNamara
Change-Id: I0436d0f3404a88abd81c4eedea09b16c81536b61 Reviewed-on: https://gerrit.libreoffice.org/44599 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2017-11-10tdf#48300 kde4+gen: bring forward the window with already opened docKatarina Behrens
Send _NET_ACTIVE_WINDOW message to the mapped frame with the timestamp of current X11 server time (the real timestamp, not CurrentTime constant, otherwise e.g. KWin focus stealing prevention would kick in) Change-Id: I637e1c3548b874e7267f8fc71ffcca4b1a82a412 Reviewed-on: https://gerrit.libreoffice.org/44409 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
2017-11-09loplugin:unusedfieldsNoel Grandin
Change-Id: Ie8a2c6462ddc708140e725847199c8234ab6b592 Reviewed-on: https://gerrit.libreoffice.org/44528 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-11-09Avoid races when using OSX_RUNINMAIN_MEMBERSStephan Bergmann
...so that e.g. main thread in SalYieldMutex::doAcquire could reset m_aInMainTHreadCondition and then block waiting on it only after another thread had set it. (Saw such a deadlock in some 'make check' CppunitTest.) Change-Id: I5c676956a2bec6bf8f94d7dbeee64f100db39bd3 Reviewed-on: https://gerrit.libreoffice.org/44501 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2017-11-08Retrofit "KeepEmptyLinesAtTheStartOfBlocks: false" into .clang-formatStephan Bergmann
...even if that can cause reformatting of already formatted code. The problem I came across is that without this something like > namespace { > > void f1(); > > void f2(); > > } (which is quite a common style in the current code base) would be changed to > namespace > { > > void f1(); > > void f2(); > } instead of > namespace > { > void f1(); > > void f2(); > } and I found no other clang-format style option that would result in the presence or absence of an empty line be identical at the start and end of the namespace block. vmiklos asked to reformat the existing new (i.e., non-blacklisted) files at the same time, so this commit includes that. Some of those new files had not been formatted at all, so this commit includes their full reformatting changes. Change-Id: I54daf0c11098d07d02c802104cf7f56372e61f7c Reviewed-on: https://gerrit.libreoffice.org/44450 Reviewed-by: Thorsten Behrens <Thorsten.Behrens@CIB.de> Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2017-11-07Fix harfbuzz font lifecycle in CommonSalLayoutJan-Marek Glogowski
The harfbuzz font is attached to the system font face and therefore inherits its lifecycle. This means it can be used in multiple CommonSalLayout objects, so the user data parameter of hb_face_create_for_tables can't be the layout, but must be the font. This moves the special Qt5Font handling into it's own function, so accessing the switching parameter mbUseQt5 is not needed. Regression from commit b66a7cbd8491fe436126e11975c360f47ae346ed. Change-Id: Ic34cc5b60e401562c73b239a58176a59fe4bf9be Reviewed-on: https://gerrit.libreoffice.org/44398 Reviewed-by: Khaled Hosny <khaledhosny@eglug.org> Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
2017-11-07tdf#113550 RTF import: fix incorrect text indentMiklos Vajna
Left indent was set to non-zero in the style, but direct formatting set it back to zero. Teach deduplication to remove the NS_ooxml::LN_CT_PPrBase_ind SPRM itself in case the last attribute was removed. Change-Id: I01b202f0241b02816b2b392326737b1150caffc2 Reviewed-on: https://gerrit.libreoffice.org/44385 Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk> Tested-by: Jenkins <ci@libreoffice.org>
2017-11-06tdf#108748 generate PDF preview on SwapInJan-Marek Glogowski
When including a PDF as an image, it's represented internally as a Bitmap with additional PDF data. On SwapIn, LibreOffice just imported the PDF data missing the PDF preview. The Graphic also gad the wrong image type, which results in a busy loop on master, with a strange / unhelpful STR_COMCORE_READERROR generated by SwNoTextFrame::PaintPicture. This is a workaround to generate the Bitmap on SwapIn, which will really slow down LibreOffice when importing many PDFs. I guess the job of generating the PDF previews should probably be deferred to a thread or a low priority Scheduler task, just like the general image loading is handled. Change-Id: I8084e4533995ecddc5b03ef19cb0c6a2dbf60ebd Reviewed-on: https://gerrit.libreoffice.org/43906 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
2017-11-06QT5 fix build issues & cleanupsJan-Marek Glogowski
1. Linking problem on Windows due to Windows macros via <vcl/sysdata.hxx> include 2. Drop the custom MOC target for the old KF5 plugin 3. Correctly handle QT5 build without using QFont 4. ImplJobSetup is in the VL library, not the gen plugin Change-Id: Iad97b1b9b57a8c356aaa88178aff03d0c14558c7