summaryrefslogtreecommitdiff
path: root/vcl
AgeCommit message (Collapse)Author
2022-11-17ofz#53434 Out-of-memoryCaolán McNamara
Change-Id: Ia148869905cb54f57136fe0e0c2572434a7d37cb Reviewed-on: https://gerrit.libreoffice.org/c/core/+/142816 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2022-11-17use harfbuzz upstream fix instead of workaroundCaolán McNamara
drop temp workaround for problem seen with tdf119074-1.odt i.e. apply https://github.com/harfbuzz/harfbuzz/pull/3874 for https://github.com/harfbuzz/harfbuzz/issues/3824 Change-Id: I42373f2282d30d7e45ee88b654d3df40f3a6384b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/142815 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2022-11-16ImplDbgTestSolarMutex assert from a11yCaolán McNamara
#5 0x00007fffee606a72 in ImplDbgTestSolarMutex() () at vcl/source/app/dbggui.cxx:35 #6 0x00007ffff71186f0 in DbgTestSolarMutex() () at tools/source/debug/debug.cxx:54 #7 0x00007ffff3273e39 in SfxBroadcaster::RemoveListener(SfxListener&) (this=0x1a38230, rListener=...) at svl/source/notify/SfxBroadcaster.cxx:105 #8 0x00007ffff3296eb8 in SfxListener::~SfxListener() (this=0x33abce0) at svl/source/notify/lstner.cxx:53 #9 0x00007fffaaa0a0a4 in ScAccessibleContextBase::~ScAccessibleContextBase() (this=0x33abc40) at sc/source/ui/Accessibility/AccessibleContextBase.cxx:59 #10 0x00007fffaaaa6379 in ScAccessibleTableBase::~ScAccessibleTableBase() (this=0x33abc40) at sc/source/ui/Accessibility/AccessibleTableBase.cxx:52 #11 0x00007fffaaa831da in ScAccessibleSpreadsheet::~ScAccessibleSpreadsheet() (this=0x33abc40) at sc/source/ui/Accessibility/AccessibleSpreadsheet.cxx:274 #12 0x00007fffaaa83229 in ScAccessibleSpreadsheet::~ScAccessibleSpreadsheet() (this=0x33abc40) at sc/source/ui/Accessibility/AccessibleSpreadsheet.cxx:270 #13 0x00007ffff5f87fc0 in cppu::OWeakObject::release() (this=0x33abc40) at cppuhelper/source/weak.cxx:230 #14 0x00007ffff5f88690 in cppu::OWeakAggObject::release() (this=0x33abc40) at cppuhelper/source/weak.cxx:296 #15 0x00007ffff5e7e4d5 in cppu::WeakAggComponentImplHelperBase::release() (this=0x33abc40) at cppuhelper/source/implbase.cxx:211 #16 0x00007fffaaa0d875 in cppu::WeakAggComponentImplHelper5<com::sun::star::accessibility::XAccessible, com::sun::star::accessibility::XAccessibleComponent, com::sun::star::accessibility::XAccessibleContext, com::sun::star::accessibility::XAccessibleEventBroadcaster, com::sun::star::lang::XServiceInfo>::release() (this=0x33abc40) at include/cppuhelper/compbase5.hxx:142 #17 0x00007fffaaa0ab15 in ScAccessibleContextBase::release() (this=0x33abc40) at sc/source/ui/Accessibility/AccessibleContextBase.cxx:119 #18 0x00007fffaaaa6b75 in ScAccessibleTableBase::release() (this=0x33abc40) at sc/source/ui/Accessibility/AccessibleTableBase.cxx:86 #19 0x00007fffd8f4f11a in com::sun::star::uno::Reference<com::sun::star::accessibility::XAccessible>::clear() (this=<error reading variable: Unhandled DWARF expression opcode 0x0>) at include/com/sun/star/uno/Reference.hxx:231 #20 0x00007fffd8f4c41d in atk_object_wrapper_finalize(_GObject*) (obj=0x7f71930) at vcl/unx/gtk3/a11y/atkwrapper.cxx:662 #21 0x00007ffff3538d32 in g_object_unref (_object=<optimized out>) at ../gobject/gobject.c:3678 #22 g_object_unref (_object=0x7f71930) at ../gobject/gobject.c:3553 #23 0x00007fffd9571fc5 in expiry_func () at /lib64/libatk-bridge-2.0.so.0 #24 0x00007fffea7197b1 in g_timeout_dispatch (source=0x313d360, callback=0x7fffd9571f60 <expiry_func>, user_data=0x7fffbc01bec0) at ../glib/gmain.c:4971 #25 0x00007fffea718faf in g_main_dispatch (context=0x5f8230) at ../glib/gmain.c:3417 Change-Id: If527f1cf1bfc59bb8df586afaf5da62bbcb08eea Reviewed-on: https://gerrit.libreoffice.org/c/core/+/142761 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2022-11-16tdf#152061 Fix bitmap image scalingHossein
In the regression introduced by c2c37eadf32c80bcd8f168b9fc67f32002b3cb07 the bitmap image scale was calculated incorrectly. Upon resizing the image a bit, this problem went away, and the image was shown with much better quality compared to what it was before the above commit. It turned out that the problem happened when the scale was less than 1, and it was happening inside "if ( nScaleX < 1.0 || nScaleY < 1.0 ) {...}". The part that was calculating aPosAry.mnSrcWidth and aPosAry.mnSrcHeight was wrong, because it was setting the same height and width without considering the fScale. The bitmap was scaled using Bitmap::Scale() parameter which was newly multipled by fScale in the above commit. To fix the problem, these two values are now multipled by fScale. Change-Id: I8c77d2db3b05da54f1999d3915a70e3b7cc8106f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/142754 Tested-by: Jenkins Tested-by: Caolán McNamara <caolanm@redhat.com> Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2022-11-16sw content controls, date: improve PDF export testMiklos Vajna
Assert not only that the widget is a text one, but also that it has the correct date format. Change-Id: If2bb8dcdfca0a8b76b5ed179ff558d351137bc06 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/142747 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2022-11-15tdf#149140 vcl,sw: PDF/UA export: add Scope attribute to table headersMichael Stahl
Change-Id: If2402c824e637016e3c10860810501ec60732bc5 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/142000 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
2022-11-14bump required cairo version to 1.12.0Noel Grandin
Change-Id: I7fbfb21f2facdd6371fba821fd30e625115dc72d Reviewed-on: https://gerrit.libreoffice.org/c/core/+/142710 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2022-11-14use cairo_surface_map_to_image if availableNoel Grandin
which is considerably faster than emulating it Change-Id: I9159072caf3142684f8489d291fa0438dce2e4b5 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/142702 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2022-11-14cairo_fill is cheaper than cairo_paintNoel Grandin
when we are only interested in copying a small chunk of the image. Shaves 25% off the cost of rendering here Change-Id: I3df726a08fad3ab3c330da74d09ee5e735e1bc60 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/142701 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2022-11-14split CairoCommon XOR code into its own methodNoel Grandin
Change-Id: If615f08a44a083d53c75f58af3578e59634f9a11 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/142700 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2022-11-14tdf#152012 Fix assert fail on opening date pickerHossein
This patch fixes tdf#152012 which caused an assertion failure on opening date picker field in a DOCX file The assertion was: include/o3tl/span.hxx:83: constexpr o3tl::span<T>::value_type& o3tl:: span<T>::operator[](o3tl::span<T>::size_type) const [with T = const int; o3tl::span<T>::reference = const int&; o3tl::span<T>::size_type = long unsigned int]: Assertion `pos < size()' failed. And the backtrace was: 1 __pthread_kill_implementation pthread_kill.c:44 2 __pthread_kill_internal pthread_kill.c:78 3 __GI___pthread_kill pthread_kill.c:89 4 __GI_raise raise.c:26 5 __GI_abort abort.c:79 6 __assert_fail_base assert.c:92 7 __GI___assert_fail assert.c:101 8 o3tl::span<int const>::operator[] span.hxx:83 9 OutputDevice::ImplLayout text.cxx:1396 10 OutputDevice::DrawTextArray text.cxx:948 11 Calendar::ImplDraw calendar.cxx:71 12 Calendar::Paint calendar.cxx:1133 The problem was caused by an out of bound access to a vector of integers which was created for rendering calendar header consisting of the first letters of 7 days of week, when you clicked on the down arrow on the date field. The function OutputDevice::DrawTextArray() takes an 'rStr' string to draw, and 'pDXAry' array for the exact position of the the individual characters. It also takes 'nIndex' as the first index, and 'nLen' as the length of the array. 'nLen' has the default value of -1. In this case, the length is calculated from the size of the string passed to the function. This works well if the one who uses the function makes sure that the size of the array and the length of string are equal. Previously, for the 7 days of the week, a 7 letter string "smtwtfs" (depending on the week start day this can be different, but length is always 7) was sent to this method without providing the length, thus the string length: 7 was used. In this case, positions of the letters were calculated and used from other array named mnDayOfWeekAry[7]. mnDayOfWeekAry[k+1] was used as the position of letter k (k=0..5). In this case, there was 7 letters for 7 days, and only 6 positions provided by the array. This caused assertion failure in span.hxx:83 when trying to accesss mnDayOfWeekAry[7] via o3tl::span<T>::operator[]. Value of mnDayOfWeekAry[0] was used in other calculations, therefore to fix this problem, mnDayOfWeekAry was extended from 7 to 8, and the last position was set to the end of drawing rectangle. The other thing that is done in this patch to avoid this problem in the future is removing the default value from the function prototype, so that the use should always be done by providing the length of array and starting index. After removing these defaults, it became necessary to provide empty arrays for 'pKashidaAry' which provides the kashida positions, if needed. With this fix in place, the assertion failure no longer happens. A UI test is added to make sure the crash will not happen again. The test can be run by invoking: cd sw && make -srj1 UITest_writer_tests5 \ UITEST_TEST_NAME="DateFormFieldPropertiesDialog.dateFormFieldDialog.test_date_picker_drop_down" \ SAL_USE_VCLPLUGIN=gen Change-Id: I347afb358fbc4956524f7f0a0abc3a221bf42992 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/142642 Tested-by: Jenkins Reviewed-by: خالد حسني <khaled@aliftype.com>
2022-11-13Fix typosAndrea Gelmini
Change-Id: Ic1fb0ea483954f2994a87e05f33b320da3795227 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/142661 Tested-by: Jenkins Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2022-11-13ofz#53338 AbrtCaolán McNamara
we're turning "false" to indicate nothing was drawn, but nothing was drawn because the entire output would have been clipped out, so there's no point drawing anyway, so return true instead to indicate the draw was successfully short-circuited to give a correct no-op result probably went wrong with: commit 9153a36b59f2efc2bfb2c9256c39eb5687808deb Date: Fri Mar 28 23:30:02 2014 +1100 fdo#74702 Refactor OutputDevice::DrawTransparent() Change-Id: I989ebffff267f57c036560cda59eb7abe14d405a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/142635 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2022-11-13vcl: extract functions AllRenderersPaused() and PruneMarkedRenderers()Chris Sherlock
Change-Id: I0fc55e829e22b81a076f2b66d78bb2b90abdfc41 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/136413 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2022-11-13vcl: small optimization determining if any renderers are activeChris Sherlock
Currently we look at every renderer to see if it is paused. However, you can think of this differently - instead of using a universal quantifier we can actually use an existential quantifier - if even one renderer is not paused, then we can say that not every renderer is paused - thus no global pause. Hence switch to any_of(), which stops the loop at the first instance of a non-paused renderer. Change-Id: I3b35bc41e86432374e4bc5fae0a2927ec8cc2309 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/136412 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2022-11-13Adapted convertToBitmapEx to simpler BitmapEx creationArmin Le Grand (allotropia)
As long as not all our mechanisms are changed to RGBA completely, mixing OutDev with Alpha (2x VDev) and RGB target rendering is just too dangerous and expensive and may to wrong or deliver bad quality results (see comments in code for details). Nonetheless we need a RGBA result for convert to BitmapEx. Luckily we are able to create a copmplete and valid AlphaChannel using 'createAlphaMask'. Based n that we know the content (RGB result from renderer), alpha (result from createAlphaMask) and the start condition (content rendered usually against COL_WHITE). Tht makes it possible to calculate back the content, quasi 'remove' that initial blending against COL_WHITE. That is what the helper Bitmap::RemoveBlendedStartColor does. Luckily we only need it for convert To BitmapEx, not in any other rendering. This gives good results, it is in principle comparable with the results using pre-multiplied alpha tooling, also slightly reducing the range of color values where high alpha vlaues are used, but in areas that are highly transparent anyways. Also important is that this will work with RGB-based system-dependent renderers, too. The method before could only work with the VCL-based primitive renderers by principle (only there - by coincidence - OutputDevice with Alpha worked). NOTE: Had to re-add usage of *unused* alpha channel in convertToBitmapEx due to test SdPNGExportTest. It somehow creates an Alpha in Bitmap size when I *remove* Alpha in convertToBitmapEx, so I just keep it for now, it is created anyways, just wanted to make it sleeker. Change-Id: I12e47327f5793d6ed87e217a2355c608f528246f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/142547 Tested-by: Jenkins Reviewed-by: Armin Le Grand <Armin.Le.Grand@me.com>
2022-11-12vcl: remove unused WinFontFace() private membersKhaled Hosny
Change-Id: I0f7f9f03064a63f7c27346fd679e4cb436633cd5 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/142638 Tested-by: Jenkins Reviewed-by: خالد حسني <khaled@aliftype.com>
2022-11-12ImplDbgTestSolarMutex assert from a11yCaolán McNamara
#5 0x00007fffee605ea2 in ImplDbgTestSolarMutex() () at vcl/source/app/dbggui.cxx:35 #6 0x00007ffff71186f0 in DbgTestSolarMutex() () at tools/source/debug/debug.cxx:54 #7 0x00007fffa95614d8 in SwAccessibleMap::GetContext(SwFrame const*, bool) (this=0x895a9c0, pFrame=0x5358800, bCreate=false) at sw/source/core/access/accmap.cxx:1788 #8 0x00007fffa961ac0e in sw::sidebarwindows::(anonymous namespace)::SidebarWinAccessibleContext::getAccessibleParent() (this=0xb90f800) at sw/source/uibase/docvw/SidebarWinAcc.cxx:65 #9 0x00007fffa961ae27 in non-virtual thunk to sw::sidebarwindows::(anonymous namespace)::SidebarWinAccessibleContext::getAccessibleParent() () at /home/caolan/LibreOffice/core/instdir/program/../program/libswlo.so #10 0x00007fffd8f4ae7d in atk_object_wrapper_new(com::sun::star::uno::Reference<com::sun::star::accessibility::XAccessible> const&, AtkObject*, AtkObject*) (rxAccessible=uno::Reference to (sw::sidebarwindows::SidebarWinAccessible *) 0xba7f450, parent=0x0, orig=0x0) at vcl/unx/gtk3/a11y/atkwrapper.cxx:970 #11 0x00007fffd8f4a820 in atk_object_wrapper_ref(com::sun::star::uno::Reference<com::sun::star::accessibility::XAccessible> const&, bool) (rxAccessible=uno::Reference to (sw::sidebarwindows::SidebarWinAccessible *) 0xba7f450, create=true) at vcl/unx/gtk3/a11y/atkwrapper.cxx:925 #12 0x00007fffd8f4d246 in wrapper_ref_child(_AtkObject*, int) (atk_obj=0xb9d06f0, i=0) at vcl/unx/gtk3/a11y/atkwrapper.cxx:500 #13 0x00007fffd95700c3 in add_pending_items () at /lib64/libatk-bridge-2.0.so.0 #14 0x00007fffea7154cb in g_idle_dispatch (source=0x21d40e0, callback=0x7fffd956fec0 <add_pending_items>, user_data=0x21d5890) at ../glib/gmain.c:5935 and... #5 0x00007fffee605ea2 in ImplDbgTestSolarMutex() () at vcl/source/app/dbggui.cxx:35 #6 0x00007ffff71186f0 in DbgTestSolarMutex() () at tools/source/debug/debug.cxx:54 #7 0x00007fffa95614d8 in SwAccessibleMap::GetContext(SwFrame const*, bool) (this=0x894ce20, pFrame=0x53390f0, bCreate=false) at sw/source/core/access/accmap.cxx:1788 #8 0x00007fffa956285f in SwAccessibleMap::GetContextImpl(SwFrame const*, bool) (this=0x894ce20, pFrame=0x53390f0, bCreate=false) at sw/source/core/access/accmap.cxx:1917 #9 0x00007fffa9550a91 in SwAccessibleChildSList_const_iterator::SwAccessibleChildSList_const_iterator(SwAccessibleChildSList const&, SwAccessibleMap&) (this=0x7fffffffbb58, rLst=..., rAccMap=...) at sw/source/core/access/accfrmobjslist.cxx:65 #10 0x00007fffa951c507 in SwAccessibleChildSList::begin() const (this=0x7fffffffbb80) at sw/source/core/access/accfrmobjslist.hxx:100 #11 0x00007fffa95421c2 in SwAccessibleFrame::GetChildIndex(SwAccessibleMap&, SwRect const&, SwFrame const&, sw::access::SwAccessibleChild const&, int&, bool) (rAccMap=..., rVisArea=SwRect = {...}, rFrame=..., rChild=..., rPos=@0x7fffffffbcc4: 0, bInPagePreview=false) at sw/source/core/access/accframe.cxx:179 #12 0x00007fffa9543be5 in SwAccessibleFrame::GetChildIndex(SwAccessibleMap&, sw::access::SwAccessibleChild const&) const (this=0xb7bd6e0, rAccMap=..., rChild=...) at sw/source/core/access/accframe.cxx:455 #13 0x00007fffa9569721 in SwAccessibleMap::GetChildIndex(SwFrame const&, vcl::Window&) const (this=0x894ce20, rParentFrame=..., rChild=...) at sw/source/core/access/accmap.cxx:2905 #14 0x00007fffa961ad89 in sw::sidebarwindows::(anonymous namespace)::SidebarWinAccessibleContext::getAccessibleIndexInParent() (this=0xb9ead70) at sw/source/uibase/docvw/SidebarWinAcc.cxx:80 #15 0x00007fffd8f4d781 in wrapper_get_index_in_parent(_AtkObject*) (atk_obj=0xc517810) at vcl/unx/gtk3/a11y/atkwrapper.cxx:529 #16 0x00007fffd957298c in append_cache_item () at /lib64/libatk-bridge-2.0.so.0 Change-Id: I852f40f30be7c10223ccfd570cb8ca30f1a67f47 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/142599 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2022-11-11Resolves: tdf#151898 get hidpi font/highlight color iconsCaolán McNamara
Most of this wouldn't be necessary if we could solve the split alpha problem. In the meantime, let Image take a MetaFile as an arg, record what we want to do in the metafile, and play it back when we need to generate the bitmap for to render the image. That way we don't have alpha to worry about during the recording, and we only have one alpha in the final rendering, as opposed to having two alphas in a source and in destination VirtualDevice, which is problematic in most backends. Change-Id: I5b0d7c498473271f4ab2743f75614b1b93a0e9c9 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/142593 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2022-11-11Related: tdf#151898 consider surface scaling if prescale with Bitmap::ScaleCaolán McNamara
whose introduction dates back to: commit c0ce7ca4884f7f6d1016bd1dbcc22066cb4a7797 Date: Sat Jul 7 13:07:03 2012 +0200 Prescale image with Bitmap::Scale to improve quality. don't prescale past the level of detail that the surface could retain Change-Id: I1022688d45d2bb7b692f4ba619198fccea8eab36 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/142591 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2022-11-11ofz#53196 Out-of-memoryCaolán McNamara
Change-Id: I8cb6df1f109a1c10fb025b8ecd229487b73e900d Reviewed-on: https://gerrit.libreoffice.org/c/core/+/142578 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2022-11-11Drop a counterproductive top-level constStephan Bergmann
...that was apparently left by accident by caa10a1f80da856debf4f397503f27c86199208f "vcl: Use a hb_face_t wrapper in TrueTypeFace", thwarting the use of std::move here. (I came across this code with an upcoming loplugin:constmove that flags suspicious uses of std::move involving const-qualified types.) Change-Id: I460b11738b0f480a91c1212632cb428cb1331cd6 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/142560 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2022-11-11Drop useless std::move of const objectStephan Bergmann
...introduced with 6c8dffc19e2a570d5665344dcba6afedd3dc2e15 "compute subset of glyphs in SalLayoutGlyphsCache (tdf#139604)". (I came across this code with an upcoming loplugin:constmove that flags suspicious uses of std::move involving const-qualified types.) Change-Id: Iaa356eb090cebabbed140906f0e0cee9a8039f42 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/142567 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2022-11-11Revert useless std::move of const objectsStephan Bergmann
...added with 8a843f7e98dfe6bfb04e91e5b16e3a1df18fbf58 "loplugin:moveit". (I came across this code with an upcoming loplugin:constmove that flags suspicious uses of std::move involving const-qualified types.) Change-Id: I099130acd67de7379992ce394226a7e233d6ca55 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/142561 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2022-11-10Related: tdf#151898 use more of the code path that can use scaled svgsCaolán McNamara
for hidpi Change-Id: I1dfb072e294fd30ce027eb3c69781f1450709dc8 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/142540 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2022-11-10Fix typoAndrea Gelmini
Change-Id: I368c1cf881da5fbccdf90ffdfba9714b8ecd776b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/142539 Reviewed-by: Julien Nabet <serval2412@yahoo.fr> Tested-by: Julien Nabet <serval2412@yahoo.fr>
2022-11-10Send unique window id along with other data to COOL.Gökay Şatır
Signed-off-by: Gökay Şatır <gokaysatir@collabora.com> Change-Id: I9021c8218890906c0239f32503057262d7326fd4 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/142485 Tested-by: Jenkins
2022-11-10tdf#151898 if svgs are used in hidpi get a high quality GtkImageCaolán McNamara
this gets nice sidebar icons in this case as far as I can see only gtk_image_new_from_file (or gtk_image_new_from_resource) can support the use of a scaleable input format to create a hidpi GtkImage, rather than an upscaled lodpi one so forced to go via a file here Change-Id: I665cd5be2c87f6fe8e264640be228263cdfc1fba Reviewed-on: https://gerrit.libreoffice.org/c/core/+/142504 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2022-11-09CppunitTest_vcl_pdfexport: inherit from UnoApiTestXisco Fauli
Change-Id: I165295609a95e6dd03ae5e35f987b2defa18ff18 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/142496 Tested-by: Jenkins Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2022-11-09tdf#151929: crash if video card changed (Win nVidia GTX 670)Julien Nabet
Change-Id: I9566487ed8353674d623cd270c85edcdbfa263b7 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/142486 Tested-by: Jenkins Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2022-11-09Related: tdf#151898 set origin for implLoadRepositoryImage XGraphicsCaolán McNamara
like we do when we get one from Image so we can treat these with the same shortcuts we do for Image to have the option to pass the underlying svg data to the final widget it ends up in Change-Id: I13a5aecc73821e88f1958e1e1e9e7322628cce6e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/142484 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2022-11-09don't need to ctor and assign, just ctorCaolán McNamara
Change-Id: I0ad410205350c7d035c8e645f00344d3e5641def Reviewed-on: https://gerrit.libreoffice.org/c/core/+/142483 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2022-11-09jsdialog: send edit widget's type informationSzymon Kłos
Change-Id: I878603e18c2c0ac8b1e9a9ff7995b6c640e455b2 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/141619 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Szymon Kłos <szymon.klos@collabora.com> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/142471 Tested-by: Jenkins
2022-11-09give main thread on Windows a nameNoel Grandin
to make it easier to find in profilers and debuggers Change-Id: I8ce3ee0b89ca8498683367c2b39176edc571137b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/142415 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2022-11-09vcl: fix crash in Window::LeaveWait()Miklos Vajna
Crashreport signature: SIG Fatal signal received: SIGSEGV code: 128 for address: 0x0 program/libmergedlo.so vcl::Window::LeaveWait() vcl/source/window/mouse.cxx:640 program/../program/libsclo.so ScSpellingEngine::ShowTableWrapDialog() sc/source/ui/view/spelleng.cxx:315 program/libsclo.so ScConversionEngineBase::FindNextConversionCell() sc/source/ui/view/spelleng.cxx:168 program/../program/libsclo.so ScSpellDialogChildWindow::GetNextWrongSentence(bool) /opt/rh/devtoolset-10/root/usr/include/c++/10/bits/unique_ptr.h:173 Seeing that e.g. Window::GetDropTarget() also handles a disposed vcl::Window, let's do the same here. Change-Id: Ia4ad312ae91dfef24266c5bd45751778acbee367 Reviewed-by: Michael Meeks <michael.meeks@collabora.com> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/142473 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2022-11-08tdf#144587 Fix lines in treelists using dark modeRafael Lima
As reported by the user, the lines in a treelist are dark over a dark background. This patch fixes that. Tested with kf5, gen and gtk3. Change-Id: I7f1a206f4adba496d312b25a9db121df317c7c84 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/141315 Reviewed-by: Heiko Tietze <heiko.tietze@documentfoundation.org> Tested-by: Jenkins
2022-11-08ofz#47699 avoid TimeoutCaolán McNamara
Change-Id: I15d490cb6beb585cf6d38abca8ffe6736315a3f4 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/142459 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2022-11-08Related: ofz#47699 ludicrous font heightCaolán McNamara
Change-Id: Ief06eda35445d403c163a59038c694138465f698 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/142456 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2022-11-08Combine o3tl::RestoreGuard into comphelper::ValueRestorationGuardStephan Bergmann
Change-Id: Iec42b3bf348ba82a98d4ad8236a9e8b95fdfe5f1 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/142422 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2022-11-08UnoApiTest: simplify code by using tempfile memberXisco Fauli
SwModelTestBase does the same. this will help to make SwModelTestBase inherit from UnoApiTest Change-Id: If1c824cf92f0e8b70253e4d5fdeddcaa521d4632 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/142287 Tested-by: Jenkins Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2022-11-08Address some of the sprintf in vcl/source/fontsubset/cff.cxxStephan Bergmann
...(which cause -Werror,-Wdeprecated-declarations with macOS 13 SDK), by turning Type1Emitter::maBuffer into an OStringBuffer Change-Id: I4207290c103f8aa99644d23d04a072f5241360bd Reviewed-on: https://gerrit.libreoffice.org/c/core/+/142416 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2022-11-08Address some of the sprintf in vcl/source/fontsubset/cff.cxxStephan Bergmann
...(which cause -Werror,-Wdeprecated-declarations with macOS 13 SDK), by making CffSubsetterContext::getString, and in turn CffSubsetterContext::getGlyphName, return OString. Which in turn required adding rtl::OStringConstExpr and OString::unacquired counterparts of rtl/ustring.hxx functionality to rtl/string.hxx. (It's not quite clear to me whether the nMaxLen clipping in CffSubsetterContext::getString was only there to avoid overflow of the-- somewhat arbitrarily sized?---static aNameBuf, so could go now, or rather served as a more general safety measure to not read past the mpReadPtr buffer end and should thus remain. Hence, I added a TODO comment for now.) Change-Id: I473d5a54a4be5b02917e197391e4f0982dcf690c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/142412 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2022-11-08Fix string comparisonsStephan Bergmann
As discussed in the comments at <https://gerrit.libreoffice.org/c/core/+/139908/4#message-cf9911a7e4464d53d8ef852ad0c03e609dd4ac88> "tdf#123234: Fix subsetting CFF deprecated endchar", this probably happened to work most of the time "because pGlyphName presumably /does/ point at elements of the pStringIds array (or the ".notdef" literal near the top of CffSubsetterContext:getGlyphName body), and compilers generally /do/ deduplicate string literals at least per TU." But at least the "sterling" literal in pStandardEncoding does not have a matching literal in pStringIds, so that could never have matched pGlyphName via ==. Change-Id: I7e82cf709f02d426da9c6097e596bbd92b5d4d04 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/142405 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2022-11-08Introduce o3tl::RestoreGuardStephan Bergmann
Change-Id: Ic0c1a73668e990c91ef6e90e8c01e669761fe356 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/142403 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2022-11-08Revert "give main thread a name"Stephan Bergmann
This reverts commit 4668bfe4f64acfb17da5efbb759407664b407d81. As it called osl_setThreadName on the main thread, it caused tools like pstree on Linux to confusingly report soffice.bin as VCL Main instead. Change-Id: I19447059d2ce105acb0b6fd487c7b2234172b988 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/142402 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2022-11-08CffSubsetterContext::getString never returns nullStephan Bergmann
Change-Id: I57e59b7659a9da2b291e8d6876617990f9e3a530 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/142404 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2022-11-07use ResolutionIndependentLayout if there is any MapMode set on the deviceCaolán McNamara
Change-Id: Ib9b0589d244c087e08638597692d679e9194c4db Reviewed-on: https://gerrit.libreoffice.org/c/core/+/142292 Tested-by: Caolán McNamara <caolanm@redhat.com> Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2022-11-07cid#1516751 Improper use of negative valueCaolán McNamara
Change-Id: Iab7585018d1c172299fdb78a731f92c75bd2af7c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/142374 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2022-11-07tdf#141684 fix disappearance of icons in Groupedbar and Groupedbar compact UIHenner Drewes
Change-Id: I3f0e5edd196420c8c51b19cd1ceee8caba7f7fd9 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/141612 Tested-by: Jenkins Reviewed-by: Heiko Tietze <heiko.tietze@documentfoundation.org>
2022-11-07Fix typoAndrea Gelmini
Change-Id: I60b186f26db8f36ea815161e6b450c16377e537b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/142380 Tested-by: Julien Nabet <serval2412@yahoo.fr> Reviewed-by: Julien Nabet <serval2412@yahoo.fr>