path: root/vcl
AgeCommit message (Collapse)AuthorFilesLines
2016-07-21vcl headless: ignore visibility in GetClientSize()Miklos Vajna2-14/+2
This fixes the missing-invalidation problem outlined in commit 22023b104cd1e024aecc28a6161bea519a584407 (vcl lok: fix missing paints due to zero-sized windows, 2016-07-12) also in Writer, not only in Impress. Starting text edit, doing a change, and ending text edit now results in the expected invalidations. Ignoring visibility seems to be a better fix for the missing paints. This way the headless case doesn't hit the corner cases of 0x0-sized windows. Also, the gtk vclplug's GetClientSize() only returns 0x0 in case the underlying window is disposed or it's minimized, but it does hand out the size before Show() is called, so now the headless backend is in sync with that. Change-Id: I78698cbfce954c8c593d279ab057a87cfbe87260 Reviewed-on: Reviewed-by: Miklos Vajna <> Tested-by: Jenkins <> (cherry picked from commit ac0b3b05ab52d0ac06137cf93d71187c7957ec99)
2016-07-21vcl lok: fix missing paints due to zero-sized windowsMiklos Vajna1-0/+8
How to reproduce the problem: open an Impress presentation in gtktiledviewer, create two views. Start editing the text of a shape in one view -> nothing happens in the other view. There is no invalidation in the other view, as sdr::contact::ViewContact::AddViewObjectContact() is not called for either of the views. Editing with a single view only worked as when clicking into the shape, the ViewObjectContact is created. On the desktop, those ViewObjectContacts are created on the first paint of the slide, but in the LOK case the vcl::Window instances had a 0x0 size, so an invalidation didn't result in a paint -> no ViewObjectContact was created -> no LOK invalidation was sent. No testcase, as I didn't manage to write code that actually triggers the failure under cppunit with the fix reverted. Change-Id: If29fcea4258a45f3d6d9aab284445756609fa13c Reviewed-on: Reviewed-by: Miklos Vajna <> Tested-by: Jenkins <> (cherry picked from commit 22023b104cd1e024aecc28a6161bea519a584407)
2016-07-21tdf#100600 sfx2 classification: never replace the control with labelMiklos Vajna1-0/+6
Thanks to Caolán McNamara for pointing out where is the condition of the replacement in VCL. Change-Id: I7e1ef4a016a37b25e084c4c6467a42ca557069a4 Reviewed-on: Reviewed-by: Miklos Vajna <> Tested-by: Jenkins <> (cherry picked from commit 8192da8e4de7a058ef95253f992f4143f83fa0f1)
2016-07-20vcl: This seems a missing returnTakeshi Abe2-2/+2
Change-Id: I99c3be904e9ee2ad8f76d09d1d8998a6898fb81e Reviewed-on: Tested-by: Jenkins <> Reviewed-by: Caolán McNamara <> Tested-by: Caolán McNamara <> (cherry picked from commit 0789b66353f75f4791754727629f553aa717be67) (cherry picked from commit fbb6ec09e9e9c6afcce24a5fae1996d14d5866bf) (cherry picked from commit 4fe7a96d25791d40a3a56c836ba03931e30131e4)
2016-07-20convert more DBG_ASSERT(false to SAL_WARNNoel Grandin6-9/+9
Reviewed-on: Tested-by: Jenkins <> Reviewed-by: Noel Grandin <> (cherry picked from commit 272a8afa60fe9a6b497c69a58b0054ad5b880690) Change-Id: Ie52f28f28c67a91c4d3d4517d5c6a466890c7a55
2016-07-20convert DBG_ASSERT(false, to SAL_WARN(Noel Grandin1-1/+1
Change-Id: I400d728c5d99228c5ca52e369037395b4da2af5c Reviewed-on: Tested-by: Jenkins <> Reviewed-by: Noel Grandin <> (cherry picked from commit ab10f9fc11948ca0f463aa8c0c784a574c89f8f7)
2016-07-20remove some unnecessary castingNoel Grandin2-2/+2
Change-Id: I451df09db58256fed68ce8537b2d8eb4b6ab6942 Reviewed-on: Tested-by: Jenkins <> Reviewed-by: Noel Grandin <> (cherry picked from commit 2ed5fa14f0e7624db241fde26e10fdd1009adfc7)
2016-07-20Replace fallthrough comments with new SAL_FALLTHROUGH macroStephan Bergmann12-24/+32
...which (in LIBO_INTERNAL_ONLY) for Clang expands to [[clang::fallthrough]] in preparation of enabling -Wimplicit-fallthrough. (This is only relevant for C++11, as neither C nor old C++ has a way to annotate intended fallthroughs.) Could use BOOST_FALLTHROUGH instead of introducing our own SAL_FALLTHROUGH, but that would require adding back in dependencies on boost_headers to many libraries where we carefully removed any remaining Boost dependencies only recently. (At least make SAL_FALLTHROUGH strictly LIBO_INTERNAL_ONLY, so its future evolution will not have any impact on the stable URE interface.) C++17 will have a proper [[fallthroug]], eventually removing the need for a macro altogether. (cherry picked from commit 14cd5182c5f64c43581c82db8c958369152226ac) Change-Id: I342a7610a107db7d7a344ea9cbddfd9714d7e9ca
2016-07-20use Any constructor instead of temporariesNoel Grandin2-16/+6
(cherry picked from commit 58a32075ca4f457f570af75aef368dd6c389aca7) Change-Id: Iffb82a2cee1a28d89eeea2b905aaa14086ee475a
2016-07-20Fix typosAndrea Gelmini1-1/+1
Reviewed-on: Tested-by: Jenkins <> Reviewed-by: Markus Mohrhard <> (cherry picked from commit fc2590cfa112222500a6c847917d7545f60024c6) Change-Id: Id81b16ff26283611f0b84929d831c827f847ab73
2016-07-20tdf#99352 - Some VclPtrs leak past DeInitVCLNoel Grandin1-0/+1
Change-Id: I74b27b1d8b662a644df580ae128643b8495355f8 Reviewed-on: Tested-by: Jenkins <> Reviewed-by: Noel Grandin <> (cherry picked from commit 67d333c608a662621c1069aacdec75e45e33a183)
2016-07-20tdf#97087 Give comprehensible names to timersMuhammet Kara4-4/+4
Timers and idles should have programmer comprehensible, unique names Change-Id: I837d1890c687936f8a31278c0102391e6f87212d Reviewed-on: Reviewed-by: Michael Meeks <> Tested-by: Michael Meeks <> Tested-by: Jenkins <> (cherry picked from commit c03a11b8f0c93b1c55d9abc9aa224aeb298d1976)
2016-07-20tdf#95857 Sort out German plurals ...danielt9983-10/+10
Made a start in removing the incorrect 'Infos' German plural Reviewed-on: Reviewed-by: Samuel Mehrbrodt <> Tested-by: Samuel Mehrbrodt <> (cherry picked from commit 2b31daf74e33b988c849cb26e88fa7657a4015af) Change-Id: Ie989351a7473fc35b563e63ce6a4fb229093af60
2016-07-20vcl: bmpacc.hxx -> bitmapaccess.hxxChris Sherlock53-53/+53
(cherry picked from commit 88730cdae3520b18fc073dc59bd0ed660e15d6b4) Change-Id: I4bb19d6103c4a6a902d86b62a857e3478493924c
2016-07-20Fix typosAndrea Gelmini11-14/+14
Change-Id: Ice72f8d9971e15dd6ef365e64cd567b8581a92d3 Reviewed-on: Tested-by: Jenkins <> Reviewed-by: Ashod Nakashian <> (cherry picked from commit 534b2a4b58ba765dbc256d6297e33453524915e2)
2016-07-20unnecessary use of OUString constructorNoel Grandin1-1/+1
Change-Id: Idd31b0a53c8318af69bbcd32f6798721ec8eb8e1 Reviewed-on: Tested-by: Jenkins <> Reviewed-by: Noel Grandin <> (cherry picked from commit 1ef9f3988ee4dcbc77e1fdefa20442e044a67d4d)
2016-07-20vcl: rename Font::GetName to Font::GetFamilyNameChris Sherlock12-20/+20
Reviewed-on: Tested-by: Jenkins <> Reviewed-by: Chris Sherlock <> (cherry picked from commit 28c96fc2553a5c3dee108f1e2060d7bc081a7e7e) Change-Id: Ie20871a3078bf875c1782b7761d60591a9c9704f
2016-07-20Fix typosAndrea Gelmini47-55/+55
Reviewed-on: Tested-by: Jenkins <> Reviewed-by: Ashod Nakashian <> (cherry picked from commit 64d624b65124ac02d8ee59b135593fd9d8eb9067) Change-Id: I9a5940027423ff0791fa7da0b79b617412ce6b86
2016-07-20loplugin:nullptr: More NULL -> nullptr automatic rewriteStephan Bergmann16-57/+57
Change-Id: Ie83819e2bcdc5fa160b39296b005ca9a5ff74b1d (cherry picked from commit fb8a3fac5d448451794804a7470be45fa14da453)
2016-07-18vcl: gtkprintwrapper is a private gtk only headercp-5.1-1Chris Sherlock4-3/+3
(cherry picked from commit ea60011a5aa36a8f13067b8acb152e927fddf621) Change-Id: I12d7b59c5e307403715865411993119ccbc291ec
2016-07-18try to get this working on linux baselineCaolán McNamara1-30/+10
(cherry picked from commit 22a35a56b385b1a08d20eb609f35ab506cc8333e) Conflicts: vcl/headless/svpgdi.cxx Change-Id: If17327385423d62eeb201e6754a7a45f0640c2f8
2016-07-18Related: rhbz#1343766 a11y queries during dispose trigger listbox crashesCaolán McNamara1-0/+2
though not able to reproduce, I have an in-house complaint similar to commit f120abb446bf3f5230ed06a3b148654dde36bb94 Author: Caolán McNamara <> Date: Wed Jun 8 11:35:15 2016 +0100 Resolves: rhbz#1343766 a11y queries during dispose trigger combobox crashes except with a listbox in the bt (cherry picked from commit c615943bda57eadfa73c14a7314938aabe0bd16f) Change-Id: Id31561e009a1f0ec9272a0e7216296e4017e5688 Reviewed-on: Tested-by: Jenkins <> Reviewed-by: Miklos Vajna <> (cherry picked from commit 583207377705dea2bfe09db3e33d7947c473d862)
2016-07-13Resolves: rhbz#1349501 gtk3: smooth scrolling events can be disabled...Caolán McNamara3-42/+75
by the user with GDK_CORE_DEVICE_EVENTS=1, and so manage to disable their wheel scrolling (cherry picked from commit 7dfd50f947671d79b9119f10259857700d5728d8) Change-Id: I7df63f738983c90dea75b9f43a36133910446aba Resolves: rhbz#1349501 gtk3: smooth scrolling events can be disabled... better fix, if we listen to the eventbox we get either SMOOTH scrolling or not smooth events, not both. We get SMOOTH when supported, and not if not supported so no need to reintroduce the miserable hack, which doesn't work under wayland anyway Change-Id: I993e71d3553322425a506cd93d812efe081bf3c9 (cherry picked from commit 053a843bccaef2d2323be3ddff6217c592a4c5db) Reviewed-on: Tested-by: Jenkins <> Reviewed-by: Michael Meeks <> (cherry picked from commit bda6bce91555861f604a74b8f3d6cc6cd35c11c4)
2016-07-13opencl: OpenCLZone, detect CL device change and disable CL on crashTomaž Vajngerl2-0/+6
Guard OpenCL calls with OpenCLZone, so if a OpenCL call crashes we detect this and disable OpenCL so next time the user doesn't encounter the crash at the same calculation because he has a broken OpenCL drivers. Similar has been implemented for OpenGL with good results. Additionaly we persistently remember a known good OpenCL device ID and driver version so we can match this and perform calculation tests when they change. This is to ensure that the selected OpenCL device performs as we expect. In this commit the calculation tests aren't included yet. Remove complex static initializer in opencl wrapper library. Reviewed-on: Reviewed-by: Tomaž Vajngerl <> Tested-by: Tomaž Vajngerl <> (cherry picked from commit f41eb66302208f384a475fb20c98b6d1b0676cb6) Change-Id: I1a8b81ee31298731efcf63dc6a476955afc035e9 Reviewed-on: Tested-by: Jenkins <> Reviewed-by: Michael Meeks <> (cherry picked from commit e1ef22371613f384cc2f6fc75d022cb01bf92af7)
2016-07-13Resolves: tdf#100463 tolerence in contour editor doesn't workCaolán McNamara1-18/+18
probably since commit f51f03a46102333bac6a7fe06bc8538492f413a5 Author: Stephan Bergmann <> Date: Wed Mar 5 12:24:14 2014 +0100 Do not needlessly truncate MinMax argument before comparison with bounds Change-Id: I5c92f0af3e05ad68ed88fa860b36e8426e160bf9 (cherry picked from commit d5bd18ecac5806b7b4e39a1919b6b56df0f94ce3) Reviewed-on: Tested-by: Jenkins <> Reviewed-by: Jan Holesovsky <> (cherry picked from commit 95024423f38a5050f614e2d14837eebdbc348a4a)
2016-07-12gtk3: use cairo to do drawAlphaBitmap with scalingCaolán McNamara1-9/+5
now we're beautiful Change-Id: If688a89c3a65b7f9bb01890f8ddc81fc6cc8c2b8 (cherry picked from commit db884459a0e250122f8bbcc906107ce424f1e955)
2016-07-12gtk3: of course we have a different 1 bit mask format as wellCaolán McNamara1-7/+26
Change-Id: I02763bc1dfeec4a04f40fa0246cdc93eab6d6d33 (cherry picked from commit 4fee13c30eb7b67fd1c97466955742536265687c)
2016-07-12gtk3: implement drawAlphaBitmap for svp/gtk3 backendCaolán McNamara2-63/+196
mostly anyway (cherry picked from commit c1774eb6a34d68b8a083ce1e919d634b700583c4) Change-Id: I21d7f46ba018c3ed81093873da35b883efa44d66
2016-07-12gtk3: it's the *Original* device we care about, not the temp clip hack devicesCaolán McNamara1-1/+1
Change-Id: I2ac61cd2a99da25122165af692154fdbc2ac6d2e (cherry picked from commit 872c1b7654510daa4a6974150490623745d931bf)
2016-07-12gtk3: implement drawPolyLine for svp/gtk3 backendCaolán McNamara1-37/+134
by stealing the quartz impl Change-Id: I548042328144e23c68b83e461a63cdb0d7d8ff2c (cherry picked from commit 3d22df17b33d6c66c3b7441bd220712ada53e667)
2016-07-12gtk3: track what needs to be implementedCaolán McNamara1-0/+8
Change-Id: Iff2a651384cc96f541dba2f9e134c7463619c62c (cherry picked from commit ac49efde18b7668b7ef454306ad6912f2d66152e)
2016-07-12gtk3: stroke as well as fillCaolán McNamara1-26/+52
(cherry picked from commit a6d5c7dcd96b3f8bd15d5a31fc55afc1da8c101b) Change-Id: I1c46f38927c48070e5739b99de96d61943837a14
2016-07-12vcl: extract scale convolution from bitmap to its own class/fileTomaž Vajngerl4-375/+469
Change-Id: Ibb10aa7450b78ca2709da38857f095ccbc679c54 (cherry picked from commit 5919f0bbe82129e25962be88db4156dd7daa2a36)
2016-07-12loplugin:unusedfieldsNoel Grandin3-5/+0
Change-Id: Icac4ac1a2614e72bc9ff070819533e09eeb1a864 (cherry picked from commit ec3f72415850bd865eb030cf2b7edb55b99d4756)
2016-07-12Remove excess newlinesChris Sherlock5-13/+0
A ridiculously fast way of doing this is: for i in $(pcregrep -l -M -r --include='.*[hc]xx$' \ --exclude-dir=workdir --exclude-dir=instdir '^ {3,}' .) do perl -0777 -i -pe 's/^ {3,}/ /gm' $i done Reviewed-on: Tested-by: Jenkins <> Reviewed-by: Chris Sherlock <> (cherry picked from commit a238b1f8d304bf1e2ffb357937f3ec888ee8ac89) Change-Id: Iebb93eccbee9e4fc5c4380474ba595858a27ac2c
2016-07-12update loplugin stylepolice to check local pointers varsNoel Grandin11-315/+315
are actually pointer vars. Also convert from regex to normal code, so we can enable this plugin all the time. Reviewed-on: Tested-by: Jenkins <> Reviewed-by: Noel Grandin <> (cherry picked from commit e8fd5a07eca70912ddee45aaa34d434809b59fb7) Change-Id: Ie36a25ecba61c18f99c77c77646d6459a443cbd1
2016-07-12vcl: fix loplugin:stylepoliceMiklos Vajna2-6/+6
Change-Id: I40455e04a5f69dc0956ccb01c48d8a40245a4506 (cherry picked from commit 2465cb26763b2ed8de65f35bce791fb55fe0e746)
2016-07-12GDIMetaFile: rename members missing their prefixesMiklos Vajna1-126/+138
Reviewed-on: Reviewed-by: Miklos Vajna <> Tested-by: Jenkins <> (cherry picked from commit 65827ea3ebe99da58fc94ff9be2e1e579eb1e0a2) Change-Id: Ie21807952d74b89b0e8b6f376f8807737b6685f0
2016-07-08tdf#98710 check the font is bound, substitute FON fontsTomaž Vajngerl2-0/+14
If we can't bind the font then we can't proceed with rendering and caching of the glyphs. This may avoid the crash but the font won't be drawn. This happens for old Windows 3.1 bitmap fonts in FON format which Direct Write doesn't support. So in addition substitute "Script" and "Roman" FON fonts with "Times New Roman". Reviewed-on: Tested-by: Jenkins <> Reviewed-by: Tomaž Vajngerl <> Tested-by: Tomaž Vajngerl <> (cherry picked from commit b5cd1220b849a9759dd4446032a7e1affbf151f2) Change-Id: I16b480399b47989738a703ad84c0398493f9f4e3 Reviewed-on: Reviewed-by: Caolán McNamara <> Tested-by: Caolán McNamara <> (cherry picked from commit 901bb8527350a81b1631338abedbfd3f77ffbf35)
2016-07-04vcl: GTK: fix libstdc++ "irreflexive" assertMichael Stahl1-3/+15
/usr/include/c++/6.1.1/bits/stl_algo.h:4737: Error: comparison doesn't meet irreflexive requirements, assert(!(a < a)). GdkRectangleCoincident is clearly not a less-than operator as required for std::sort. Change-Id: If2e65d420dc8cdf0707081361a40d4eaea28424e (cherry picked from commit e2b267b1906817cc45f0e4896bed58cff5b6b0f9) Reviewed-on: Tested-by: Jenkins <> Reviewed-by: Caolán McNamara <> Tested-by: Caolán McNamara <> (cherry picked from commit 92cdfa1cb576cfe5048c17b10208eac71445d3c2)
2016-07-04tdf#100411 start the flush timer when batching (PostBatchDraw)Tomaž Vajngerl2-0/+12
When we batch a draw command we need to start the flush timer (if not already started) as otherwise it could happen that we won't flush the offscreen texture at the correct time or at all. This fixes a problem with drawing of pop-up "help" text. (cherry picked from commit e1296e295e7d4f1104d2c90b1f51d52251358bea) Change-Id: I6afcf173c3ac517ed0612cd413d95e28c19faa81 Reviewed-on: Tested-by: Jenkins <> Reviewed-by: Caolán McNamara <> Tested-by: Caolán McNamara <> (cherry picked from commit 24c3838b5fd2005d9df902c9a7d03fcba78adbe4)
2016-07-01Revert "vcl: desktop terminate, to dispose objects"Ashod Nakashian1-9/+2
This reverts commit 1ce3fbfa868bda383b89ea1e54a37b8bc44c7be5.
2016-06-26tdf#100451 convert texture buffer to 1-bit and 4-bit palette bufferTomaž Vajngerl1-26/+66
OpenGL doesn't support palettes so when the texture is created, the bitmap buffer is converted to 24-bit RGB. This works nice for showing the bitmaps on screen. The problem arises when we want to read the bitmap buffer back (like in a PDF export) as we have to convert that back to 1-bit or 4-bit palette bitmap buffer. For 4-bit this was not implemented yet, on the other hand for 1-bit it was implemented but it didn't take palette into account so the bitmap was not correct (inverted). This commit introduces a ScanlineWriter which handles writing RGB colors to 1-bit and 4-bit palette scanlines. The class sets up the masks and shifts needed to place the color information at the correct place in a byte. It also automatically converts a RGB to palette index. Change-Id: Ie66ca8cecff40c1252072ba95196ef65ba787f4c Reviewed-on: Reviewed-by: Tomaž Vajngerl <> Tested-by: Tomaž Vajngerl <> Reviewed-on: Reviewed-by: Jan Holesovsky <> Tested-by: Jan Holesovsky <> (cherry picked from commit ebad0ff6da52d3f3bf9ca026ed2699df0673ce76)
2016-06-20Don't share the wakeup pipe with child processesTor Lillqvist2-16/+54
Create a new pipe in the child process. In a normal desktop LibreOffice each fork() will be followed quickly by an exec(), so the FD_CLOEXEC would be enough for that. In LibreOfficeKit-based software that uses the preinit mechanism, though, the intent is that one can fork child processes without exec(). This solution uses pthread_atfork(). Another way would be to add suitable public API callable from the LibreOfficeKit client initialisation code in desktop/source/lib/init.cxx to explicitly close and reopen the wakeup pipe in the default SvpSalInstance. Reviewed-on: Reviewed-by: Michael Meeks <> Tested-by: Michael Meeks <> (cherry picked from commit 57295468a6770d7831437d83248e68bbe667d86b) Change-Id: I03fad4ce4adf14c16cb0f537b3baab58fba38922
2016-06-18crashreport: 644837b5-c445-4779-a75d-dd69fc2e3a6fCaolán McNamara3-5/+11
drop hint of previous window to get mouse wheel event when that window is disposed in order to drop any references to it immediately that happens to avoid anything else lingering too late move the VclPtr into ImplSVData alongside the rest of the things like this so we can remove the static VclPtr which itself replaced a relatively harmless static Window* (cherry picked from commit bdfccfde308f0267965933a8273e6e9201a2c67c) (cherry picked from commit 35205c6e3e2f85d9b7db935689ec949c98e7e431) Change-Id: I1e172071b711b6e4ded9a813ee3de730d3dfdf38 Reviewed-on: Tested-by: Jenkins <> Reviewed-by: Michael Stahl <> (cherry picked from commit f7ad46993279d1da56980fc100b3961e5e349400)
2016-06-18tdf#96887 vcl: stop using periodic timers on WNTMichael Stahl4-14/+31
Every time the periodic timer fires, it does a PostMessage() to the main thread. The main thread will only process the first message and discard the rest anyway, but with a short enough timer and other threads hogging the SolarMutex it's possible that the message queue overflows and other PostMessage calls fail with ERROR_NOT_ENOUGH_QUOTA. Try to avoid the problem by having the WinSalTimer always be a one-shot timer; when it fires and the main thread processes the posted message, it is restarted with the new due time. This requires creating a new TimerQueueTimer because ChangeTimerQueueTimer only works on periodic timers. Change-Id: I816bd3fa5fbfbea4f26be8ff680a1c916618d3f9 Reviewed-on: Tested-by: Jenkins <> Reviewed-by: Jan Holesovsky <> Reviewed-by: Michael Stahl <> Reviewed-on: Reviewed-by: Tor Lillqvist <> Tested-by: Tor Lillqvist <> (cherry picked from commit 25ba37abcc8ad381be6038ddb332dd60d3dcf4b1)
2016-06-18tdf#96887 enhance SolarMutex AcquireWithWait for WindowsArmin Le Grand3-93/+34
Currently the Windows-specific method ImplSalYieldMutexAcquireWithWait() uses a messaging mechanism to learn about the SolarMutex being free again. This is not reliable when the MessageQueue overflows (MS allows 10000 messages per queue). It is more safe to use MsgWaitForMultipleObjects. This also allows to not only wait for the SolarMutex to be freed, but also to detect when SendMessage() is used which needs to lead to a reschedule to not block current Window handling. Change-Id: Id317dda62aaa1fe7677d8d28929e6936e5a22705 Reviewed-on: Tested-by: Jenkins <> Reviewed-by: Armin Le Grand <> Reviewed-on: Reviewed-by: Tor Lillqvist <> Tested-by: Tor Lillqvist <> Reviewed-by: Michael Stahl <> (cherry picked from commit 69fa1e78febb4991e8e8b8b53ddf5b2d4f7e9f00)
2016-06-16gtk3: some changes towards enabling native gtk3 popup menusCaolán McNamara3-16/+13
these menubar things can be menu things and can then do away with the casting, no logic changes intended Change-Id: Ibb1b5354d5e1483327f172d6890e134f1e4b9ee4
2016-06-13tdf#99795 drawAlphaBitmap should scale the bitmap if necessaryTomaž Vajngerl1-3/+16
drawAlphaBitmap didn't use a high quality scaler for scaling the texture but used the default scaling method in OpenGL (either GL_NEAREST or GL_LINEAR, whichever is defined when texture is created) which are low quality scalers - especially when downscaling textures. Change-Id: I6236b2ee92b9e5044b176a40a444027072b09b58 (cherry picked from commit 19baa61e1d7b140b9e24717f7080617ab3d324d4) Reviewed-on: Tested-by: Jenkins <> Reviewed-by: Tor Lillqvist <> (cherry picked from commit 86fef4ea205f3001305a6122bfa127b196e2d345)
2016-06-13Related: tdf#99446 cairo text + xrender bodgeCaolán McNamara1-0/+18
(cherry picked from commit 1d18db339242a535d956b7e944ad1488fd2b4fd8) Change-Id: I926881bcfa4911f3d7f4899711be44a2f6d82026 Reviewed-on: Tested-by: Jenkins <> Reviewed-by: Markus Mohrhard <> (cherry picked from commit c55d703ea00de67793765f8da7ca17dfb54281fc)