summaryrefslogtreecommitdiff
path: root/vcl
AgeCommit message (Collapse)Author
2018-01-04drop ChecksumType typedefNoel Grandin
adds no value Change-Id: I14c168d16eb98eb8c065c4c9a8f2a486c59feebb Reviewed-on: https://gerrit.libreoffice.org/47341 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-01-03Qt5 set and update the frame geometryJan-Marek Glogowski
The geometry is used for mouse hit tests for mapping LO mouse events to popup positions. This way (popup) menus become at at least usable. Change-Id: Ic2b409d7a8937320c70b9f377374fe7d51e4ebf3 Reviewed-on: https://gerrit.libreoffice.org/47276 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
2018-01-03Qt5 fix alpha drawing of start center imageJan-Marek Glogowski
Drawing the bottom-left start center image had multiple errors. New images didn't set the default clip rect and weren't correctly resized. The damage handling was also missing for alpha bitmaps. Change-Id: Idabacbb8b507c990a24006152f064ae4f144b89e Reviewed-on: https://gerrit.libreoffice.org/47277 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
2017-12-29loplugin:unnecessaryparen improve return checkNoel Grandin
Change-Id: I8128aa4b5fc60efd1dbf5971cdde11e588f5f64b Reviewed-on: https://gerrit.libreoffice.org/47167 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-12-29Fix typosAndrea Gelmini
Change-Id: I3d16dc162e5fa2e08134d848a835eb392e64056e Reviewed-on: https://gerrit.libreoffice.org/47126 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2017-12-28coverity#1311653 Uninitialized scalar fieldCaolán McNamara
Change-Id: I3006cf4397df6b04fa66bd181470756f39dac1e5
2017-12-28Try to handle fonts orphaned from cache gracefullyMike Kaganski
ImplFontCache::Invalidate deletes unused entries (with zero ref count), and keeps other entries, but clears everything (including still used fonts) from its instance list. In the same time, those fonts' mpFontCache pointers kept pointing to this cache object. External clients released font instance by calling its cache's Release method; this itself allows for broken invariants that cache's mnRef0Count is equal to number of unused font instances in its list. Also, those fonts never got released, leaking because ImplFontCache only ever deletes objects in its list. What is worse, sometimes font caches get deleted after invalidation (see OutputDevice::ImplClearFontData). As the instance list of the cache is empty at the point of delete, the cache destructor doesn't delete those fonts that were orphaned at the moment of invalidation (those fonts are still used by some client objects, so deleting them is clearly wrong). But since the font instances still have cache pointer referring the already deleted cache, releasing the instances (by calling deleted cache's Release member function) must lead do some weird results. This patch moves the Acquire/Release to LogicalFontInstance, which now checks if its cache pointer is valid, and if it is, the cache is used to do the work (as before); otherwise, the font handles its lifetime itself, and deletes itself when its reference counter is zero. The cache invalidation clears the cache pointer of the still-used instances. Change-Id: I29811272dda814cbc81f14668d63e385ce772332 Reviewed-on: https://gerrit.libreoffice.org/47111 Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com> Tested-by: Mike Kaganski <mike.kaganski@collabora.com>
2017-12-27Make line color consitent between CategoryListBox and simple ListBoxTamás Zolnai
Line color is changed in CategoryListBox::UserDraw() method so we need to explicitely specify it here too. Change-Id: Ia3dcbf70e0a53cfba16d5d2df0fc2e4d7e23ad71 Reviewed-on: https://gerrit.libreoffice.org/47083 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Tamás Zolnai <tamas.zolnai@collabora.com>
2017-12-27tdf#111781 Drawing selection highlight twice in listBoxesBán Róbert
The selection highlight is drawn tiwce: a rectangle and the background of the text. The fix removes the text backround by setting it to transparent. Change-Id: I969cb5b27619df07d0a37f1a38c859dbf2565483 Reviewed-on: https://gerrit.libreoffice.org/47064 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Tamás Zolnai <tamas.zolnai@collabora.com>
2017-12-26vcl-svp: add 24-bit (3-byte) RGB surface support to CairoAshod Nakashian
(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>
2017-12-26vcl-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>
2017-12-26Remove redundant call to OutputDevice::ImplRefreshAllFontDataMike Kaganski
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>
2017-12-25coverity#1426921 Uninitialized scalar fieldCaolán McNamara
Change-Id: Ic264c74c2fc4cc5677895b50394a933b3e3fa9d2 Reviewed-on: https://gerrit.libreoffice.org/47038 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2017-12-24loplugin:passstuffbyref even more return improvementsNoel Grandin
Change-Id: I2a752025cd429e4d271626402dce5d8a8b0c76d2 Reviewed-on: https://gerrit.libreoffice.org/47021 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-12-23loplugin:passstuffbyref improved returns in vclNoel Grandin
Change-Id: I0b103df2e7ce59093869f547225c95865d33da27 Reviewed-on: https://gerrit.libreoffice.org/46916 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-12-22lokdialog: Allow switching language of some of the ResMgr's.Jan Holesovsky
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>
2017-12-22use SyncDbusSessionHelper for font install requestsCaolán McNamara
don't need to have two implementations here and can reduce ifdef forest Change-Id: I972159ece9cce417aefd5ec4acf5ba5d1d08317b Reviewed-on: https://gerrit.libreoffice.org/46968 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2017-12-22tdf#42949 Fix some Include What You Use warningsMiklos Vajna
Change-Id: I30121764303579a7cb4ded0f0f48cc1f8fff6c33 Reviewed-on: https://gerrit.libreoffice.org/46946 Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk> Tested-by: Jenkins <ci@libreoffice.org>
2017-12-22tdf#79077: Mildly improved user experienceKatarina Behrens
Change-Id: I3cf63d06c3c238ed936a8dd0287cfbe02e8e39be Reviewed-on: https://gerrit.libreoffice.org/46936 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Katarina Behrens <Katarina.Behrens@cib.de>
2017-12-21set dbus id for existing DbusSessionHelper usersCaolán McNamara
Change-Id: I64329e21ae79b6607856de9781bee0274b9cb136 Reviewed-on: https://gerrit.libreoffice.org/46854 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2017-12-21add html fuzzerCaolán McNamara
This reverts commit 111db5b992ae5870e76313f76e633a4edcccf010. Change-Id: I1138592ab54865f4c2ac4599fab572c5666bf723 Reviewed-on: https://gerrit.libreoffice.org/46864 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
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/46911 Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2017-12-21Prevent 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>
2017-12-20remove html fuzzerCaolán McNamara
still not ready after all This reverts commit 6fc7f85de7f0bfa8ee36f867e321a8816ad1e385.
2017-12-20add html fuzzerCaolán McNamara
Change-Id: I03a61421c477642548d9814610faeb570bd34c8d Reviewed-on: https://gerrit.libreoffice.org/45970 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2017-12-20Related: tdf#79657 Different approach to disable the context menuMaxim Monastirsky
... in the overflow toolbar. Using ToolBoxMenuType::NONE is wrong as it might affect the layout. Can be easily triggered here by adding FloatWinPopupFlags::GrabFocus to StartPopupMode (which likely will be needed to fully solve tdf#79657). Another case was fixed in 91053763a7189c8ac03a59dc996e6333404f846e ("Fix sub-toolbar tearoff for .uno:ChooseControls"), but without providing a solution for the context menu. Change-Id: I4a0b4560fe49106613fa2337b5dd83eb7fa29f47 Reviewed-on: https://gerrit.libreoffice.org/46837 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Maxim Monastirsky <momonasmon@gmail.com>
2017-12-20coverity#1426738 Dereference null return valueCaolán McNamara
Change-Id: I85957928c2f7fa742d379f289192c05e3f4177a8
2017-12-20reversed assertCaolán McNamara
Change-Id: I018417df11a41ebb1c453a51a70368b0eae8f6d4
2017-12-20lokdialog: Use Application::Post{Mouse,Key}Event() to post to main threadPranav Kant
... 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
2017-12-20tdf#79077: Cleanup PapersizeFromSetup related codeKatarina Behrens
Change-Id: If77c43a7eb97de0a2e23195a9539f00e452343d8 Reviewed-on: https://gerrit.libreoffice.org/45096 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Katarina Behrens <Katarina.Behrens@cib.de>
2017-12-20tdf#79077: copy 'paper from printer setup' toggleKatarina Behrens
into printer properties dialog, it is rather badly accessible (almost invisible) in File > Print > Options tabpage Change-Id: I18d538a20dc207c359ae1e7c2c914a68daf58f31 Reviewed-on: https://gerrit.libreoffice.org/43956 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Katarina Behrens <Katarina.Behrens@cib.de>
2017-12-20Fix typoAndrea Gelmini
Change-Id: I70dc1742bc9462db96c4be7d37d1881a8cb0b0a6 Reviewed-on: https://gerrit.libreoffice.org/46788 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2017-12-19vcl: 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
2017-12-19remove unused typedefsNoel Grandin
Change-Id: I6fd7a9fed3a80c91a3766fceefd43c5db0aa5275 Reviewed-on: https://gerrit.libreoffice.org/46763 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-12-19inline use-once typedefsNoel Grandin
Change-Id: I5c3ffc03c26b3428f1f336e6ecba7838a1cf1157 Reviewed-on: https://gerrit.libreoffice.org/46764 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-12-19coverity#1426313 Unchecked return valueCaolán McNamara
Change-Id: Ic6eb7eec01ced2105144b123f8f9f8ecd25f6008 Reviewed-on: https://gerrit.libreoffice.org/46702 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2017-12-19loplugin:unusedenumconstantsNoel Grandin
Change-Id: I9dc4b369872a7c6c076ae9be1dcdf2f8385af8a7 Reviewed-on: https://gerrit.libreoffice.org/46684 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-12-19Fix typosAndrea Gelmini
Change-Id: Ibffe19c1dfda9d0f4ba8d2a0761ad1222491007f Reviewed-on: https://gerrit.libreoffice.org/46599 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2017-12-19show rest of the menu bar in a pop-up if the are is too smallTomaž Vajngerl
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>
2017-12-19menu: pass paint size to ImplPaint and account for buttonsTomaž Vajngerl
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>
2017-12-19coverity#1426314 silence Resource leakCaolán McNamara
Change-Id: I266463184f902df11943a23fa4129086c6441783 Reviewed-on: https://gerrit.libreoffice.org/46703 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2017-12-17ofz#4678 ensure null terminationCaolán McNamara
Change-Id: I6b6b0763e85a41d03f9e03c6abc17c6c311f6519 Reviewed-on: https://gerrit.libreoffice.org/46641 Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2017-12-16Fix typosAndrea Gelmini
Change-Id: Iedb99e41887ebfd6fa290bc113b473c5cc9693b4 Reviewed-on: https://gerrit.libreoffice.org/46600 Reviewed-by: Julien Nabet <serval2412@yahoo.fr> Tested-by: Julien Nabet <serval2412@yahoo.fr>
2017-12-16sal_uLong->SalPrinterError in SalPrinterNoel Grandin
and define a default implementation in the base class that returns SalPrinterError::NONE, since only one of the subclasses wants to override and return something useful Change-Id: Id41ff90693527e8624cc2993b7481114af85fcee Reviewed-on: https://gerrit.libreoffice.org/46509 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-12-16sal_uIntPtr->sal_uInt32 in yieldCountsNoel Grandin
to match the underlying field in GenericSolarMutex Change-Id: I98dcab3b684278c4a184534ba782b5b03b0504f0 Reviewed-on: https://gerrit.libreoffice.org/46508 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-12-15lokdialog: Give non-programmatic name to autofilterPranav Kant
Change-Id: I8670a5aaa1703677cab173b2341c6e70e689f61a (cherry-picked from 04abf03ecb18ccf1f805faa763d6f29013efc6bb)
2017-12-15lokdialog: If we already have the title, emit it during creationPranav Kant
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)
2017-12-15Protect all LogicalFontInstance constructorsJan-Marek Glogowski
This way LogicalFontInstance can just be constructed by a PhysicalFontFace based factory. The patch also drops the wrong "Java logical font" comment added by commit 125cdf3404e60cf78f2a5547e9a06ce994df5c8e. Change-Id: Ibd5d7da0c3a65dbfa2c8ae6b05cf616d39b749f2 Reviewed-on: https://gerrit.libreoffice.org/46475 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
2017-12-15Report more debug information about caught exceptionStephan Bergmann
...in an attempt to track down why various tinderbox builds started to fail CppunitTest_sw_filters_test with an "Uncaught exception during Task::Invoke()!" abort. On IRC, jmux claims that catching exceptions and turning them into abort() here (instead of letting them propagate) is necessary: "The main problem was the wrong state in the scheduler. So something actually handled the exception, but the next caller into the scheduler had an invalid linked list of tasks, breaking things left and right." Change-Id: Ic3365e282404483518652c00160c2036b79991cf Reviewed-on: https://gerrit.libreoffice.org/46450 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2017-12-15loplugin:salcall (macOS)Stephan Bergmann
Change-Id: I297ac09358ce948acae9b73e8ed605964520c73b Reviewed-on: https://gerrit.libreoffice.org/46437 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Stephan Bergmann <sbergman@redhat.com>