summaryrefslogtreecommitdiff
path: root/vcl
AgeCommit message (Collapse)AuthorFilesLines
2018-03-21lokdialog: Few more places that need to take LOK's LanguageTag into account.Jan Holesovsky1-1/+2
Change-Id: Ida41025c70d45f426304fabe702a3bccd6e2385d Reviewed-on: https://gerrit.libreoffice.org/47474 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Jan Holesovsky <kendy@collabora.com> (cherry picked from commit a9e294ff5c8466bd1577ae43b0feaa002f9fd5ab)
2018-03-21svg icon caching even for 1x scalingTomaž Vajngerl2-21/+30
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-20Make line color consitent between CategoryListBox and simple ListBoxTamás Zolnai1-0/+1
Line color is changed in CategoryListBox::UserDraw() method so we need to explicitely specify it here too. Reviewed-on: https://gerrit.libreoffice.org/47083 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Tamás Zolnai <tamas.zolnai@collabora.com> (cherry picked from commit 33bd6c3e3512bf96376534e116d6f9f60d157be9) Change-Id: Ia3dcbf70e0a53cfba16d5d2df0fc2e4d7e23ad71
2018-03-20vcl-svp: add 24-bit (3-byte) RGB surface support to CairoAshod Nakashian1-4/+21
(cherry picked from commit e8ba02b1d56dc7b59a4f0a7373995b28653a0597) Reviewed-on: https://gerrit.libreoffice.org/46681 Reviewed-by: Jan Holesovsky <kendy@collabora.com> Tested-by: Jan Holesovsky <kendy@collabora.com> (cherry picked from commit 31c044e2501b9d4a0917e4e09133660bbe2a24dc) Change-Id: I7707219eae4c2d6d40c8dc957207b63d3049a75f Reviewed-on: https://gerrit.libreoffice.org/47010 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Ashod Nakashian <ashnakash@gmail.com> (cherry picked from commit 54596087e57ea533253e19eea594d9b6c06e8d26)
2018-03-20vcl-svp: Store 24-bit images in 3-byte pixelsAshod Nakashian5-16/+109
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-20Remove redundant call to OutputDevice::ImplRefreshAllFontDataMike Kaganski1-1/+0
Since commit 40809ce46999e9cedb2fe5db8e9d53ebb6c182bf, OutputDevice::AddTempDevFont called OutputDevice::ImplRefreshAllFontData twice: first time explicitly before return, second time in UpdateFontsGuard destructor. Change-Id: Ie67bdcbd98de5f6053379af700239246412b88db Reviewed-on: https://gerrit.libreoffice.org/47066 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com> (cherry picked from commit b41fa706e0d4d16d9865ba295a8960376c96597f)
2018-03-20lokdialog: Allow switching language of some of the ResMgr's.Jan Holesovsky1-0/+6
This way, it is possible to have all the strings translated in dialogs even when different users use different languages. [It was already possible to have different languages previously, but not everything in the dialog has switched - like the buttons at the bottom of the dialogs etc.] Change-Id: I29a5ae6d31a370eec60397884200b684ec1bf5b9 Reviewed-on: https://gerrit.libreoffice.org/46417 Reviewed-by: Michael Meeks <michael.meeks@collabora.com> Tested-by: Michael Meeks <michael.meeks@collabora.com> Reviewed-on: https://gerrit.libreoffice.org/46979 Tested-by: Jenkins <ci@libreoffice.org> (cherry picked from commit 101a79cc4d13a1f566c1b97c1329813eb7c61bcf)
2018-03-19lokdialog: Use Application::Post{Mouse,Key}Event() to post to main threadPranav Kant1-68/+0
... instead of custom machinery there to post to main thread. This also now posts window key events to the main thread instead of processing them on the lok thread. Change-Id: Ided1efb3f237a1838fa50bb8d74752be714c3032 (cherry picked from commit ace646b20ee88fdca2780365039e90cb1542262b)
2018-03-19show rest of the menu bar in a pop-up if the are is too smallTomaž Vajngerl4-4/+129
In case when the window is to small to show the whole menu then the use couldn't access the rest of the items in the menu. This change adds a button in the end (using the ">>" marker as in toolbar) which on click adds a pop-up that shows the rest of the menu items. Change-Id: I9218dba504464bdd44d61ebb383f7674f3df760f Reviewed-on: https://gerrit.libreoffice.org/46711 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Tomaž Vajngerl <quikee@gmail.com> (cherry picked from commit 9f3b61e51f7f9de11436b0e4eaec164f2656fbdd)
2018-03-19menu: pass paint size to ImplPaint and account for buttonsTomaž Vajngerl3-13/+25
When a menu bar is painted it needs to take into account that the buttons (close) is positioned at the right side of the paint area. To do this we need to pass what the output size is when painting (ImplPaint) on the common menu code, instead of assuming the whole area can be used. Change-Id: I2e9d6c686929fe1cd7e28368a8055c1e2df13c49 Reviewed-on: https://gerrit.libreoffice.org/46710 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Tomaž Vajngerl <quikee@gmail.com> (cherry picked from commit e11234d8d8d8ff2744b77a128f845dbe8e6faa1e)
2018-03-19lokdialog: Give non-programmatic name to autofilterPranav Kant1-0/+2
Change-Id: I8670a5aaa1703677cab173b2341c6e70e689f61a (cherry-picked from 04abf03ecb18ccf1f805faa763d6f29013efc6bb) (cherry picked from commit a895f6356159f4267c0ac24781814ae0cbcba0b9)
2018-03-19lokdialog: If we already have the title, emit it during creationPranav Kant2-7/+7
Some dialogs load the UI before we "Execute()" the dialog, or before the dialog fires the InitShow event. In those cases, the title event has already been fired and won't be fired after dialog is created. Make sure that we send the title for such dialogs. Change-Id: Ib66238298ad9b0dc85bd269aff37aeadf1fc82e4 (cherry picked from commit 10a88598a4233f2b24548571644a83dc9d20e15d) (cherry picked from commit 49a58e6e735a90532720f74c8d255056cd018a1a)
2018-03-19Fix memleakPranav Kant1-0/+1
Change-Id: I557b2f43263fc125d0ee87b968dee1893e4ca7cf (cherry picked from commit 266beae6cdc352f942a7ea5935f8a8b21d2d1e01)
2018-03-19lokdialog: Unblock custom window mouse key eventsPranav Kant1-12/+32
In some cases, the mouse event blocks. Eg: when the mouse event is responsible for launching a new dialog (cf. Spell dialog -> Options). We don't want any kind of blocking behavior whatsoever in LOK. Post all custom window mouse events back the main-loop thread and keep the current LOK thread free. Change-Id: I018870fadcb62dbb7b33a7d93f8af3a0000442b5 (cherry picked from commit 53f8f28c53391ef1cadefaf16c3a9e81e04ac7f5)
2018-03-19headless: improve popup menu background defaults.Michael Meeks1-0/+2
Change-Id: Icda7df363827e1942486c961bf9eef9402aba96c Reviewed-on: https://gerrit.libreoffice.org/46123 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Michael Meeks <michael.meeks@collabora.com> (cherry picked from commit 95a72981e572a961a1c4c03f81fd365c1cb23e9f)
2018-03-19Use ImplIsFloatingWindow instead of dynamic_castPranav Kant1-3/+3
Change-Id: I09f351ae5d8d1b5c1a405d7aa8082be6014268b3 (cherry picked from commit 0898ced81a3129b4c36c08e0222f96c513f0fd77)
2018-03-19lokdialog: Move lok cursor invalidation callbacks to vcl::CursorPranav Kant3-49/+39
Change-Id: I5cbb845259b6802fb2a0776f8d8f19f9680115ad (cherry picked from commit 782f8be6d4076b0152442e6200426010c1f6704f)
2018-03-19lokdialog: Open floating window on InitShow onlyPranav Kant1-3/+3
Okay, my bad. InitShow happens after Visible. And InitShow also does some layouting. Emitting the created callback on InitShow means sending more accurate sizes, etc. The different in sizes is 0 for combo boxes, but significant for custom controls like color picker, etc. So emit created callback on InitShow to keep custom controls working. Change-Id: I40b6a18b917dff0eebcfd4c273f3399f3bdc7456 (cherry picked from commit 42fae43d70d3d1b8fcc9fc6328b1060d6d72abfc)
2018-03-19lokdialog: sc: Prevent assert when invoking autopopup filter dialogPranav Kant1-6/+14
We set the notifier in sc, so don't try to set it again in vcl. Change-Id: Ic7ab3d0030532a4e8630aa7e9266d32057373a65 (cherry picked from commit 03fa6b15439938044fa95eb9b0584d16cf23db88)
2018-03-19lokdialog: Show/Hide floating window on StateChangedType::VisiblePranav Kant1-4/+6
In the earlier approach, other state change events like SetText are emitted which ends up in "else if !IsVisible()" block and tries to close the floating window before it's even registered. Interestingly, this is not the case every time. Anyhow, better safe than sorry. Guard the floating window 'created', 'close' callbacks in a StateChangeType::Visible event. Change-Id: Ib997e11fd4a0f50b8911e9891918112e8ff8ef85 (cherry picked from commit 20f985a4ac2dcc6d287c808b9dcfd055fcbabd91)
2018-03-19lokdialog: Window* -> VclPtr<Window>, and a small simplification.Jan Holesovsky3-14/+9
Change-Id: I853e2d6ec2e55c78894a9942aa201763a57fe195 Reviewed-on: https://gerrit.libreoffice.org/45900 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Jan Holesovsky <kendy@collabora.com> (cherry picked from commit 5df0f751d8b117eeb9b1df8d1bc34e36659d1492)
2018-03-19lokdialog: Make the badstatic loplugin happy.Jan Holesovsky1-10/+27
Change-Id: Ic19bbd2a3533e4e600d8856e55c4e8d06f0ad752 Reviewed-on: https://gerrit.libreoffice.org/45500 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Jan Holesovsky <kendy@collabora.com> (cherry picked from commit 8ce967ad157d83ad567c5f8c750f4225dd974219)
2018-03-19lokdialog: Merge dialog & dialog child mouse event APIs into onePranav Kant1-24/+12
Change-Id: I91aaa6a58f33dd2d817e02533de96e0c8191f2ca (cherry picked from commit b1bcc70d2a5a51d2cb4b2e9e2a8e6641719fe18b)
2018-03-19lokdialog: Simplify; make the LOK dialog API more genericPranav Kant4-80/+40
Merge the dialog floating window callbacks and function calls into one. Unique window ids across vcl::Window is enough to distinguish between them. Floating windows don't have a LOK notifier as they are created in the vcl itself (so we can't access them from sfx2). Use the parent LOK notifier in that case (which would be a dialog). This API should also help in autopopup filter tunneling later. (cherry picked from commit b5e27fd809845577a90cc1811de062c070110078) Change-Id: I63a2c97ffdd84695dc967e14c793089a7c50b41b
2018-03-19lokdialog: Kill some code; use already existing method to paintPranav Kant2-20/+0
This is not require now in the new approach where the dialog is already created by the time paint request call for dialog happens. Layouting is already complete by that time. Change-Id: I610b050a268e61e8d4036aa7eb5766cf0c8b37e0 (cherry picked from commit ec09f526114ef289e7a0a7804f443f2b16a67f15)
2018-03-19lokdialog: new callback size_changed with new size of the dialogPranav Kant1-2/+5
Change-Id: Ibb864cb588ae7db92381c5578701d3ce09185f34 (cherry picked from commit 1dda69be37d8bb3ef29447e572a225e0028edaed)
2018-03-19lokdialog: Emit callback when title is changedPranav Kant1-0/+10
The plan is to remove the getDialogInfo from LOK API but one more step before doing that is to find out why the dialog size in 'created' dialog callback is less than what the actual dialog after painting is. Change-Id: I5176e175cbf7ed81c1465feeeea053c9a024fbd9 (cherry picked from commit bc113a3bae176a7dac1392d0f45c3e425725f230)
2018-03-19lokdialog: Launch dialogs which have a notifier registeredPranav Kant1-1/+1
Change-Id: I062fa291668b7dbfb8bc8e8d455a7933378ce7d9 (cherry picked from commit 094ec23874b9af221c5c45b914150cf12a44fae6)
2018-03-19lokdialog: Move the LOKWindowId <-> VclPtr<Window> mapping to Window.Jan Holesovsky2-4/+28
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 LogicInvalidate from Dialog down to Window.Jan Holesovsky2-15/+16
Another step towards the autofilter popup working... Change-Id: I4907a23fcd0fc64da0c7f51e2f36b1657a17638c (cherry picked from commit b4487b0fd22ce1fc595851f63a3f7bba36681f2c)
2018-03-19lokdialog: Move the painting down to Window, and enable Calc and Impress.Jan Holesovsky5-136/+123
Tested with .uno:FormatCellDialog in Calc, Impress not tested. Change-Id: I6d911c29616988db0625be9e2a63cf2172c69ee8 (cherry picked from commit e2ae221f6164ba240da7d6470fd52c1982fa07d2)
2018-03-19lokdialogs: Assign the LOK window id only when necessary.Jan Holesovsky1-1/+10
Change-Id: Id48957a8c2bde068f30bb26e66df81972fe38e0f (cherry picked from commit 5de24bea47e7ae971a53b51ee7d1b85d134bbe52)
2018-03-19lokdialog: Make the Autofilter popup notify about its creation.Jan Holesovsky1-0/+7
Change-Id: Ib4062fa887b44eb1368205a414f4ac162f648c5c (cherry picked from commit 6bc22c34fb3742dc991ec35dc6660d162a39ccf5)
2018-03-19lokdialog: Move the Notifier down to vcl::Window.Jan Holesovsky5-33/+47
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-19lokdialog: Notify dialog closure from sfx2/, instead of vcl/Pranav Kant1-5/+0
Change-Id: I49f5e0d5f6c7c0077a6d4390f8788c1691d47bd6 (cherry picked from commit e8c7420cc49238a88a66b6514c72e63df56d430a)
2018-03-19lokdialog: Make vcl::DialogID an integerPranav Kant1-5/+8
This will help launching multiple instances of dialog from multiple views. The earlier approach of using the UNO command strings as dialog id would not have been useful for multi-view case. Change-Id: I01cfb3c8b204d5654df2417efdac6b50dc920f0e (cherry picked from commit f3f4c039072657739d2bedb7210f2a22b85fdb55)
2018-03-19lokdialog: Changed dialog painting to allow for modal dialogsPranav Kant1-17/+19
Split IDialogNotifier from IDialogRenderable and make SfxViewShell implement it. We now just send the dialog UNO command to the backend and wait for core to emit a 'created' dialog callback which signals dialog creation in the backend. The client is then supposed to send the paint commands for rendering the dialog. Change-Id: I1bfbce83c17955fa0212408376d6bcd1b2d2d1dd (cherry picked from commit 871eb68e14631d22aeb00ec33f0e5d801291942e)
2018-03-19tdf#115649: ensure we own SolarMutex in the callbackMike Kaganski1-0/+2
The crash is caused by releasing SolarMutex we don't own; the release happens in Application::Reschedule() inside SalPrintAbortProc. The crashing callstack: ucrtbase.dll!abort() mergedlo.dll!comphelper::GenericSolarMutex::doRelease(bool bUnlockAll) Line 72 mergedlo.dll!SalYieldMutex::doRelease(bool bUnlockAll) Line 177 [Inline Frame] mergedlo.dll!SolarMutexReleaser::{ctor}() Line 1473 mergedlo.dll!WinSalInstance::DoYield(bool bWait, bool bHandleAllCurrentEvents) Line 550 mergedlo.dll!ImplYield(bool i_bWait, bool i_bAllEvents) Line 469 mergedlo.dll!SalPrintAbortProc(HDC__ * hPrnDC, int __formal) Line 1308 gdi32full.dll!vSAPCallback() gdi32full.dll!ExtEscapeImpl() gdi32.dll!ExtEscape() [Frames may be missing, no binary loaded for KMUU727V.DLL] KMUU727V.DLL!0000000011d0dc21() Change-Id: I955eab7894186900d0d99e28f62d87cc645e4a5a Reviewed-on: https://gerrit.libreoffice.org/51052 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de> (cherry picked from commit 43bf50d5ced4b878f747075f8c0f1b32991c290e) Reviewed-on: https://gerrit.libreoffice.org/51153 Reviewed-by: Michael Stahl <mstahl@redhat.com> (cherry picked from commit 96cd4feb3ae133c19808ca0df2dab02595bb5588)
2018-03-19forcepoint #27 check region bands loaded from stream for consistencyCaolán McNamara3-6/+32
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-19forcepoint #25 ensure null terminationCaolán McNamara1-5/+9
Change-Id: I37f4787fb5772e959c45280d9650adcc15591033 Reviewed-on: https://gerrit.libreoffice.org/51129 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Michael Stahl <mstahl@redhat.com> (cherry picked from commit e5131b6e208cce5af1af770cbe615dfed0a3ba63)
2018-03-15use the same shade of grey as Online UI usesAndras Timar1-1/+1
Change-Id: Idb6dc80f4943323f80bc6851bc184798627722ef Reviewed-on: https://gerrit.libreoffice.org/48056 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Andras Timar <andras.timar@collabora.com> (cherry picked from commit d9ada611083a5938673956edc0c7b48c6199a4f2)
2018-03-08tdf#115420 WIN clean up WinSalFrames DC handlingJan-Marek Glogowski2-184/+170
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-03-07tdf#115353 Status bar: no cache in settextTamas Bunth1-3/+0
Change-Id: I6c1312bbba553be738e23cee0c76d589c809dff8 Reviewed-on: https://gerrit.libreoffice.org/50584 Reviewed-by: Tamás Bunth <btomi96@gmail.com> Tested-by: Tamás Bunth <btomi96@gmail.com> Reviewed-on: https://gerrit.libreoffice.org/50743 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
2018-03-02forcepoint #16: fix heap-use-after-freeMiklos Vajna1-1/+3
PDFDocument::Tokenize() in the aKeyword == "obj" case allocates a PDFObjectElement, stores it as an owning pointer inside rElements, and also stores two non-owning references to it in m_aOffsetObjects and m_aIDObjects. So make sure those 2 other containers are also cleared then elements go away. LO_TRACE="valgrind" bin/run pdfverify <sample> doesn't report errors anymore after the fix. Change-Id: Ie103de3e24a1080257a79e53b994e8536a9597bc Reviewed-on: https://gerrit.libreoffice.org/50631 Reviewed-by: Michael Stahl <mstahl@redhat.com> Tested-by: Michael Stahl <mstahl@redhat.com>
2018-03-02forcepoint #14 check to see if we incremented at allCaolán McNamara1-3/+6
Change-Id: Ia4670adbddcc8501cf522be296b3061a3529f880 Reviewed-on: https://gerrit.libreoffice.org/50606 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Michael Stahl <mstahl@redhat.com>
2018-03-01tdf#115297: alternative fix for displaying 1bit imagesVasily Melenchuk2-10/+25
Previous fixes for 1bit monochrome / paletted images produced some regressions, so here is attempt to fix problem at the root. Partially reverted 66dbd4da3afcadb1393daf9be9cecff71b86509a and fixed in a different way without tdf#115297, tdf#114726 and related. Change-Id: I6849ed5ac41770ba905c930065c80e58509dba2e Reviewed-on: https://gerrit.libreoffice.org/50454 Reviewed-by: Thorsten Behrens <Thorsten.Behrens@CIB.de> Tested-by: Thorsten Behrens <Thorsten.Behrens@CIB.de> (cherry picked from commit 25cd843664919974f0d21ca7a0b02cc43e9eeabb) Reviewed-on: https://gerrit.libreoffice.org/50540 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Katarina Behrens <Katarina.Behrens@cib.de>
2018-02-26tdf#103571: Avoid spurious heavy SalEvent::DisplayChanged callbacksTor Lillqvist2-16/+56
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-26forcepoint #6 release virtual devices before releasing font cacheCaolán McNamara1-4/+5
Change-Id: Iacfbe7da788235c96519ecd106d09ab534c83849 Reviewed-on: https://gerrit.libreoffice.org/50284 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
2018-02-23tdf#67744, tdf#68889: Fix weight reported by the system for these fontsTor Lillqvist1-1/+24
A hack, but oh well. Let's hope there won't be a lot of these special cases. Maybe some generic heuristic would be better. Like if a font's GetStyleName() is "Medium", "Medium Oblique", or "Medium Italic" then always force its weight to be WEIGHT_NORMAL? Reviewed-on: https://gerrit.libreoffice.org/50172 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Tor Lillqvist <tml@collabora.com> (cherry picked from commit 1d7f96a324a4c2ab82a04513c6a38dc31fd061fa) Change-Id: I13580d27acfb0cc200bdb0cc1911518675d3e32e Reviewed-on: https://gerrit.libreoffice.org/50198 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Michael Stahl <mstahl@redhat.com>
2018-02-23tdf#100784 macOS: Don't attempt to handle shortcuts via the menubarMaxim Monastirsky1-1/+2
... when it's hidden. Change-Id: I7930afb8124dd552843512cd30bce4d82ade0c70 Reviewed-on: https://gerrit.libreoffice.org/49399 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Maxim Monastirsky <momonasmon@gmail.com> (cherry picked from commit 9d77e7551e56b85d7f1b40bc42b9ba6876091f22) Reviewed-on: https://gerrit.libreoffice.org/49707 Reviewed-by: Tor Lillqvist <tml@collabora.com>