summaryrefslogtreecommitdiff
path: root/vcl
AgeCommit message (Collapse)Author
2020-05-15ReleaseHbFont is unusedCaolán McNamara
LogicalFontInstance dtor does call hb_font_destroy though Change-Id: I59d9711f1934966cddd73c5e62c8929f08b1359a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/94335 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2020-05-15if GetFontCharMap returns true xFontCharMap was resetCaolán McNamara
so there's no point in initially assign a FontCharMap to it on entry Change-Id: Ibf6e05a2b2f6709c57b12810b6989f98cfc6db30 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/94333 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2020-05-15loplugin:unnecessaryvirtualNoel Grandin
Change-Id: Ibb37c7e840a32453b1d52854d5f958c0285cd26a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/94326 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2020-05-15do not cache SkBitmap in SkiaSalBitmapLuboš Luňák
It doesn't make much sense anymore to keep it around, it's now used only by GetAsSkImage(), which is only called from GetSkImage() and GetSkAlphaImage(), and it's unlikely one SkiaSalBitmap would be used both as a bitmap and an alpha mask. In Vulkan mode this should save the memory (in raster mode the memory is shared by the SkImage). Change-Id: I5818a462aca85906f2e82cd951b6241d954723c6 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/94228 Tested-by: Jenkins Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
2020-05-15Fix typosAndrea Gelmini
Change-Id: Ie2549b9cbf9b5f756fcb6d2ebb4676828f7e9a87 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/94321 Tested-by: Julien Nabet <serval2412@yahoo.fr> Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2020-05-15vcl: move functionality into FindIncompletelyOccludedBackground()Chris Sherlock
Change-Id: I228d58c8b16152491e9b46c837f4fbbf9e50a6d5 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/94024 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2020-05-15vcl: new local function setComponentsSizeAndColor()Chris Sherlock
Change-Id: Icc837d6f90578dbae3c757d673334facd49a1109 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/94023 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2020-05-15vcl: move functionality out of checkRect(), rendering function obsoleteChris Sherlock
Change-Id: Iabbc82d9b31438169351eca370ae42729babd10a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/94022 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2020-05-15tdf#133053 reset after clear so avoid later assertCaolán McNamara
Change-Id: Ib2b637c8a6d5af04256bfd9631e43d334343b610 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/94265 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2020-05-15do not hardcode a BitmapChecksum in a testLuboš Luňák
The checksum depends on this like RGB vs BGR and changing the VCL backend to e.g. Skia breaks this. Change-Id: I5bb3f4c009327c92683bfa575bd1510e3a1ea826 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/94224 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2020-05-15tdf#131333 SalMenus propogate to parent their selected id conditionallyCaolán McNamara
Menu::Select depends on its handler returning false to allow propogating a submens's selected id to its parent menu to become its selected id. without this, while gen menus already have propogated this to its parent in MenuFloatingWindow::EndExecute, SalMenus as used under kf5/macOS won't propogate the selected id Change-Id: I1d87cb0deacdf5fbfb837acc21c2d23b79525aae Reviewed-on: https://gerrit.libreoffice.org/c/core/+/94263 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2020-05-15use more try_emplaceNoel Grandin
specifically looking for the pattern if (map.find(...) == map.end() map[...] = value Change-Id: I99f20d73f6e71a10726c9d39d8644c2e51120091 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/94151 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2020-05-15vcl: refactor - move rect coverage check out of checkRectChris Sherlock
Change-Id: I68d24fd0b94286155750ccb5fa83bf7a897ada5c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/94021 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2020-05-14Keep order of GDK input events intactStephan Bergmann
As explained at <https://bugzilla.redhat.com/show_bug.cgi?id=1377293#c12> "[Wayland] When typing fast at high CPU load, LibreOffice breaks key (letter) order": "with a local LO master --with-lang=ALL ASan+UBSan build (i.e., which executes somewhat slowly): When typing 'file' in Writer right after it started up (but no longer after more typing), that gets garbled as 'fiel'." The reason for that (but probably not for the original issue reported in that rhbz#1377293) apparently was: Two GDK_KEY_PRESS events (A and B) were in the GTK event queue. GtkInstance::AnyInput consumed only A, because it broke from the first while loop as soon as it saw the first event of appropriate type. In the second while loop it put A back on the end of the GTK event loop, so that it now followed B. GtkSalFrame::signalKey (vcl/unx/gtk3/gtk3gtkframe.cxx) thus received the events in the wrong order. Dropping the "break" also reveals that GtkInstance::AnyInput should obviously use a queue (i.e., deque) rather than a stack to hold the events it consumed and needs to re-enqueue. This appears to be a regression introduced with 658954e8b50fc264428402dc5a95b0d6f690d191 "Resolves: fdo#48011 writer idle-callbacks are halting when events pending". Change-Id: I87d601df118a20ea3dd59e9cebbcf5176db04be8 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/94202 Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Jenkins
2020-05-14tdf#132788 vcl: fix redraw on theme changeMiklos Vajna
Regression from commit f4e0cc1ff145287f80738f070a8c46a64b2f76d1 (tdf#92079 vcl: fix missing image background on dialog from basic, 2019-06-13), the original scenario was about an unexpected change from bitmap wallpaper to a non-bitmap one. That means the condition for the above change can be more strict: just restore the old wallpaper if it's now a non-bitmap one, otherwise leave it alone. This way the above scenario keeps working and changing themes again doesn't require a restart of the process. Change-Id: I256372ad30184cc150d6819dd61cdd38af7d83ba Reviewed-on: https://gerrit.libreoffice.org/c/core/+/94189 Reviewed-by: Miklos Vajna <vmiklos@collabora.com> Tested-by: Jenkins
2020-05-14Move SalInstanceCheckButton to header fileSzymon Kłos
Change-Id: Id6597cd259abefe69a61f0ab414c6bd2114c9749 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/94100 Tested-by: Jenkins Reviewed-by: Szymon Kłos <szymon.klos@collabora.com>
2020-05-14Move SalInstanceMessageDialog to header fileSzymon Kłos
Change-Id: Ie982bae356f3e13ec40012e5dd9bac45887d2925 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/94098 Tested-by: Jenkins Reviewed-by: Szymon Kłos <szymon.klos@collabora.com>
2020-05-14Fix typoAndrea Gelmini
Change-Id: Ia8cdd792feae51a9089badb55b8622e6b58b19a3 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/94025 Tested-by: Jenkins Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2020-05-14cache Skia' drawAlphaBitmap() in raster mode (tdf#104878)Luboš Luňák
Moving the mouse with the bug document triggers repeated calls to drawAlphaBitmap(), which is somewhat costly if not GPU-accelerated. Now the main cost in that bugreport is generating the frames all over again. Change-Id: Ic44811c713a745459f0af811c3d55038c944d89e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/94152 Tested-by: Jenkins Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
2020-05-14cache results of Skia's drawTransformedBitmap() (tdf#132438)Luboš Luňák
E.g. scrolling in Writer with a huge image inserted requires scaling down on every paint, so cache the result if it's expensive. Change-Id: I9db040eab47e0e9d7fd416ad064caf0301d346fb Reviewed-on: https://gerrit.libreoffice.org/c/core/+/94118 Tested-by: Jenkins Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
2020-05-14vcl: move transparency checks into MetaAction and GDIMetaFileChris Sherlock
I want to remove the final bits of meOutDevType but need to refactor the function OutputDevice::RemoveTransparenciesFromMetaFile(). This is the start. Change-Id: I7c5330540fb396f033b40831b24028c7bfec4832 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/93940 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2020-05-13Use statics initializers instead of checksMike Kaganski
Change-Id: I8c474a35e3c4b9a202e4003c6b895f18ac88fb09 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/94001 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2020-05-13tdf#49247: draw soft edgesMike Kaganski
This factors out the common code for blurring used both in glow and soft edges into ProcessAndBlurAlphaMask. Also this reverts commit a98bdbae459ad7341bf7f484c402e77e4062cd16, since its use was removed from VclPixelProcessor2D. Change-Id: Icd7fdb06bef3932ff3b9ce7e283b515b15d246a5 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/94087 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2020-05-13Fix translation domains in .ui filesGabor Kelemen
Found with bin/ui-checkdomain.sh Change-Id: I2a3ec2593b9ce0a19efced9020b95dff796e4702 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/94153 Reviewed-by: Adolfo Jayme Barrientos <fitojb@ubuntu.com> Tested-by: Jenkins
2020-05-13fix oss-fuzz buildCaolán McNamara
Change-Id: Ia04a3e9c72c9b32f895c5925937d322f8dd963ff Reviewed-on: https://gerrit.libreoffice.org/c/core/+/94135 Tested-by: Caolán McNamara <caolanm@redhat.com> Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2020-05-13Avoid -Werror=unused-variable with --disable-assert-always-abortStephan Bergmann
...as reported by e.g. <https://ci.libreoffice.org/job/lo_tb_random_config_linux/2228/> Change-Id: If6bc1105fd723f78dbcb36616371a823ee665611 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/94132 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2020-05-13use gtk_widget_get_screen instead of cast + gtk_window_get_screenCaolán McNamara
cause the toplevel may not be a GtkWindow Change-Id: Iceb1fc9a5d0054a7a2aefa5ba2ad7a2572dbb4c9 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/94134 Tested-by: Caolán McNamara <caolanm@redhat.com> Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2020-05-13add access to entry cut/copy/pasteCaolán McNamara
Change-Id: I4f84ccdc4490ae6190d02aca206f87133497bff9 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/94122 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2020-05-13vcl: remove unnecessary ConnectedComponentList typedef (not a list anyway!)Chris Sherlock
Change-Id: If855e28ba8a6d86f069e66809f5607484e826e98 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/94131 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2020-05-13loplugin:unusedmethodsNoel Grandin
Change-Id: Id813d95a90fdbb360dfc8670c0b55b635f633965 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/94125 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2020-05-13Move SalInstanceNotebook to header fileSzymon Kłos
Change-Id: Id14b6fca6f12f49691a621f636300f9da320834c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/94097 Tested-by: Jenkins Reviewed-by: Szymon Kłos <szymon.klos@collabora.com>
2020-05-13move LongCurrencyBox to be toolkit onlyCaolán McNamara
Change-Id: I70ac2d521e5a6178483e4d44f2c63f826ddea168 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/94106 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2020-05-13lok: notify data change of the formatted field controlHenry Castro
Change-Id: I997ed1fb3900ab46e6182e529762bf5b04e82fcd Reviewed-on: https://gerrit.libreoffice.org/c/core/+/94076 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Henry Castro <hcastro@collabora.com> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/94091 Tested-by: Jenkins
2020-05-13loplugin:unusedvariableplusNoel Grandin
Change-Id: I58a466ac18debafa3bc2ff31c648ff51e126ab8f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/94083 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2020-05-12lok: replace SetValue for ImplNewFieldValueHenry Castro
The ImplNewFieldValue notify changes in the spin control Change-Id: I64c0239b0a12ecdf9a3b7af4c496cee88d1b2cb3 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/94070 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Henry Castro <hcastro@collabora.com> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/94077 Tested-by: Jenkins
2020-05-12tdf#132435 only place menu vertically if up/down requestedCaolán McNamara
don't fallback to left/right if it doesn't fit, just scroll the menu instead Change-Id: I20b261fd7fee78555bf87b25dfeed33c23602493 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/94065 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2020-05-12allow double-clicking etc to expand on-demand rows tooCaolán McNamara
Change-Id: Idb8bca730d4c8d8da0d4689961cf1468051159d7 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/94062 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2020-05-12Move SalInstanceButton to header fileSzymon Kłos
Change-Id: I3f6aa1975ae5859e0c340c82627d95e49313a668 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/94050 Tested-by: Jenkins Reviewed-by: Szymon Kłos <szymon.klos@collabora.com>
2020-05-12Move SalInstanceComboBox to header fileSzymon Kłos
Change-Id: Iafa449cc1ebba93cc69da194857ea33b8f8510b4 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/94049 Tested-by: Jenkins Reviewed-by: Szymon Kłos <szymon.klos@collabora.com>
2020-05-12make VclPaned::set_position take effectCaolán McNamara
Change-Id: Id4ae096b413196cfb7118cd3a09a3f0a6c333f01 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/94053 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2020-05-12missing licence headerCaolán McNamara
I wrote all this so this is the appropiate boilerplate since... commit 3832609a238d47375e634cbda4d092b11108fee4 Date: Wed Feb 19 13:32:14 2020 +0100 Create header file for SalInstanceBuilder Change-Id: I7615e15b220cd2e801a33c1418cf1f7cb0d72fc4 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/94046 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2020-05-12add Paned accessCaolán McNamara
Change-Id: I5da0125a8f76d201e8dab2892b1f205c759599b6 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/94045 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2020-05-11GdkDragCancelReason wasn't exposed before gtk 3.20.0Caolán McNamara
Change-Id: I63deca16ab938e340c03450e2f75054def94569f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/93869 Reviewed-by: Justin Luth <justin_luth@sil.org> Tested-by: Jenkins
2020-05-11tdf#132935 fix gtk3 submenu crashJim Raykowski
Change-Id: Icfc7d17f289bb94896e5e770c61809cb473d35a2 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/93943 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2020-05-11Resolves: tdf#132902 restore original hierarchy in dtorCaolán McNamara
so a repeated weld will result in the same layout each time Change-Id: I9ba41e70c29046b84392280d4bd95f8141b24251 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/93953 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2020-05-11split and rename to form insertAsParentCaolán McNamara
for clarity as to what each chunk does Change-Id: Ia58d19dfe162631d0ba67975eb2b9546d7afa2cb Reviewed-on: https://gerrit.libreoffice.org/c/core/+/93952 Tested-by: Caolán McNamara <caolanm@redhat.com> Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2020-05-11avoid deep copies of pixels with Skia raster surfaces (tdf#132856)Luboš Luňák
SkCanvas::draw() leads to deep copies of the source bitmap, moreover RasterWindowContext_win allocates the pixels in a way that SkSurface_Raster has to do a deep copy because of not owning the pixels. Change-Id: I22f6a2c0f96faf99f94140eff26ec0c22fae96d9 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/93958 Tested-by: Jenkins Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
2020-05-11tdf#38835: strip out non-trivial globals before mainIan Barkley-Yeung
Allocate the fixed texture vector on first use instead of before main. This should make startup very, very slightly faster. Tested by just starting up a writer document. Let me know if there are other tests I should be doing. Change-Id: Iaf752327b86c131a0241786485b30030a4f987c4 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/93939 Tested-by: Jenkins Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
2020-05-11fix some leaks in vclNoel Grandin
Change-Id: I9588841de6f751ad767f695dec51f660b2990b49 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/93954 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2020-05-11tdf#132832 calcAdjustedSize: Take max width into accountMichael Weghorn
Actually take into account the preferred width when calculating the size of radio button, checkbox and hyperlink controls. This e.g. makes word wrap work properly when the multiline property is set for a checkbox, radio or hyperlink control and the single line text exceeds the preferred width, rather than keeping the whole text in one line that exceeds the preferred width. Change-Id: Id04668e4e1afe7c10a28468eff05cf04c10ae3c0 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/93947 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>