summaryrefslogtreecommitdiff
path: root/vcl/osx
AgeCommit message (Collapse)AuthorFilesLines
2021-03-07tdf#140856 macOS listbox renderingNoel Grandin1-8/+4
Change-Id: Ib5d4af162da7264d9e6da8742e36c194448bd1fd Reviewed-on: https://gerrit.libreoffice.org/c/core/+/112132 Tested-by: Jenkins Reviewed-by: Thorsten Wagner <thorsten.wagner.4@gmail.com> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-03-06tdf#138314 Change selected tab text color on macOS Big SurThorsten Wagner1-1/+1
Change text color of selected tabs starting with macOS 10.16 (not with macOS 11.0) to ensure compatibilty with macOS SDKs prior to 11 used within LibreOffice build process The version check used in commit 058ad4b900b5e0ee902f3e89ed121c2b5f8c58f1 is amended by this change. Change-Id: I4814e8edd9aa11794a9fb1b1eaa391451bde4487 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/112036 Tested-by: Jenkins Reviewed-by: Tor Lillqvist <tml@collabora.com>
2021-03-04macOS: use HITheme to draw listbox window borderNoel Grandin1-8/+16
Change-Id: I39fd6f643649bc405447d10e7072ae6dabd679b6 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/111935 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-03-03vcl/floatwin.hxx can be toolkit only nowCaolán McNamara1-1/+1
Change-Id: Ifd8f58771ea6f9212a0dca7d4550c86ebecd9333 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/111814 Tested-by: Caolán McNamara <caolanm@redhat.com> Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2021-03-03drop TransparentType::Color usageNoel Grandin1-6/+0
which is dead code, since we convert to TransparentType::Bitmask in the constructor of BitmapEx Change-Id: I047b7d25317c4be4d17a8b0db9a90ec101875c9f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/111683 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-03-01loplugin:redundantstatic (macOS)Stephan Bergmann1-1/+1
Change-Id: Ifc148f4b4a2a3f10a563bc3bb2ed16625c5908dc Reviewed-on: https://gerrit.libreoffice.org/c/core/+/111737 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2021-03-01macOS spinbox and tab header tweaksNoel Grandin1-4/+3
(*) tweak location of SpinBoxes so they line up a little better (*) tweak the size of the TabItems so they don't overlap, which causes little extra vertical bars of gray Change-Id: Ic36be6c97b4b44f5e60b0f4a0f1e172fd7c2af03 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/111712 Tested-by: Noel Grandin <noel.grandin@collabora.co.uk> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-02-26dummy clipboard for unit testsNoel Grandin1-3/+7
Change-Id: I285b36536dd38e41a199e8b6fd654666d125d906 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/111498 Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> Tested-by: Jenkins
2021-02-23tdf#138122 Detect window scaling for multi display configurations on macOSThorsten Wagner2-28/+26
(1) Activate window scaling when at least one retina display is connected (2) Remove environment variable VCL_MACOS_FORCE_WINDOW_SCALING (3) Disable related unit tests unless bitmap scaling has been implemented Change-Id: I218119a21e319e22bf17c609608724fce180f000 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/111267 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2021-02-18loplugin:referencecasting (macOS)Stephan Bergmann1-1/+1
Change-Id: I99470067a34fab9fbc2ea53d2f8a634240f0d223 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/111127 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2021-02-11Remove unneeded breaksAndrea Gelmini1-4/+0
Extending this: https://gerrit.libreoffice.org/c/core/+/110512 Change-Id: I1066aac690fe297a557352266f3405ae29ed4593 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/110522 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2021-01-28Revert "tdf#138122 Detect window scaling for multi display configurations on ↵Stephan Bergmann2-25/+27
macOS" This reverts commit f318b856ed055f1952276355f811153f6b29c93e. It appears this reliably causes CppunitTest_vcl_backend_test to fail on macOS on at least tb69, see e.g. <https://ci.libreoffice.org/job/gerrit_mac/82587/ consoleFull#-500134232d893063f-7f3d-4b7e-b56f-4e0f225817cd> and <https://ci.libreoffice.org/job/gerrit_mac/82592/ consoleFull#-500134232d893063f-7f3d-4b7e-b56f-4e0f225817cd>, [_RUN_____] BackendTest::testDrawBlendExtended /Users/tdf/lode/jenkins/workspace/lo_gerrit/Config/macosx_clang_dbgutil/vcl/qa/cppunit/BackendTest.cxx:688:BackendTest::testDrawBlendExtended equality assertion failed - Expected: c[000080ff] - Actual : c[ffffffff] BackendTest::testDrawBlendExtended finished in: 1ms [_RUN_____] BackendTest::testDrawAlphaBitmapMirrored /Users/tdf/lode/jenkins/workspace/lo_gerrit/Config/macosx_clang_dbgutil/vcl/qa/cppunit/BackendTest.cxx:749:BackendTest::testDrawAlphaBitmapMirrored equality assertion failed - Expected: c[ff0000ff] - Actual : c[000000ff] BackendTest::testDrawAlphaBitmapMirrored finished in: 1ms [_RUN_____] BackendTest::testTdf124848 /Users/tdf/lode/jenkins/workspace/lo_gerrit/Config/macosx_clang_dbgutil/vcl/qa/cppunit/BackendTest.cxx:808:BackendTest::testTdf124848 equality assertion failed - Expected: c[000000ff] - Actual : c[ffffffff] And it also causes my local macOS 11.1 ARM64 build to consistently fail that way, both the original patch set 1 (with the older parent) and the submitted patch set 2 (with a newer parent). Change-Id: I2c36fada271e8bc300b6caa19370d8e8bb1e7599 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/110055 Reviewed-by: Tor Lillqvist <tml@collabora.com> Tested-by: Jenkins
2021-01-27NSApplication's appearance property exists in macOS 10.14 and later onlyTor Lillqvist1-5/+7
Change-Id: I12f586d91e40da130f59eeba3ab65e07eec088d3 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/110013 Tested-by: Tor Lillqvist <tml@collabora.com> Reviewed-by: Tor Lillqvist <tml@collabora.com> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/110015 Tested-by: Jenkins
2021-01-27tdf#138122 Detect window scaling for multi display configurations on macOSThorsten Wagner2-27/+25
(1) Activate window scaling when at least one retina display is connected (2) Remove environment variable VCL_MACOS_FORCE_WINDOW_SCALING Change-Id: If6926ace7238f2be4ae91290872dbb3dbf658221 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/110002 Tested-by: Jenkins Reviewed-by: Tor Lillqvist <tml@collabora.com>
2021-01-24Use ContainerType().swap and avoid local variablesMike Kaganski1-2/+1
Change-Id: I773555180758a97aff37f9bc27de83c355d71521 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/109761 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2021-01-20Fix typosAndrea Gelmini2-2/+2
Change-Id: I8bab3efcd63c0f950bc3176e0d26cc896d601083 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/109559 Tested-by: Jenkins Reviewed-by: Dante DM <dante19031999@gmail.com> Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2021-01-19Avoid deadlock when macOS menu-related code is run on non-main threadStephan Bergmann1-0/+4
At least on macOS 11.1 on ARM64 (though not with an otherwise somewhat similar build on macOS 10.15.7 on x86-64), CppunitTest_smoketest deadlocked the soffice process for me, first while processing a remote call from cppunittester at > thread #8, name = 'cppu_threadpool::ORequestThread' > frame #0: 0x0000000183c43488 libsystem_kernel.dylib`__psynch_cvwait + 8 > frame #1: 0x0000000183c79568 libsystem_pthread.dylib`_pthread_cond_wait + 1192 > frame #2: 0x0000000184aeb0f0 Foundation`-[NSOperation waitUntilFinished] + 584 > frame #3: 0x0000000183d370e0 CoreFoundation`_CFXNotificationPost + 800 > frame #4: 0x0000000184aa0650 Foundation`-[NSNotificationCenter postNotificationName:object:userInfo:] + 64 > frame #5: 0x000000018653d3bc AppKit`-[NSMenu insertItem:atIndex:] + 624 > frame #6: 0x000000018653e66c AppKit`-[NSMenu insertItemWithTitle:action:keyEquivalent:atIndex:] + 144 > frame #7: 0x0000000115d16a28 libvclplug_osxlo.dylib`initAppMenu() at vcl/osx/salmenu.cxx:126:16 > frame #8: 0x0000000115d1691c libvclplug_osxlo.dylib`AquaSalInstance::CreateMenu(this=0x000000013febbd10, bMenuBar=false, pVCLMenu=0x0000000299db67a0) at vcl/osx/salmenu.cxx:207:5 > frame #9: 0x000000010b1b8620 libvcllo.dylib`PopupMenu::PopupMenu(this=0x0000000299db67a0) at vcl/source/window/menu.cxx:2718:45 [...] and later while processing a remote call from cppunittester at > thread #8, name = 'cppu_threadpool::ORequestThread' > frame #0: 0x0000000183c43488 libsystem_kernel.dylib`__psynch_cvwait + 8 > frame #1: 0x0000000183c79568 libsystem_pthread.dylib`_pthread_cond_wait + 1192 > frame #2: 0x0000000184aeb0f0 Foundation`-[NSOperation waitUntilFinished] + 584 > frame #3: 0x0000000183d370e0 CoreFoundation`_CFXNotificationPost + 800 > frame #4: 0x0000000184aa0650 Foundation`-[NSNotificationCenter postNotificationName:object:userInfo:] + 64 > frame #5: 0x000000018653d3bc AppKit`-[NSMenu insertItem:atIndex:] + 624 > frame #6: 0x0000000119858590 libvclplug_osxlo.dylib`AquaSalMenu::InsertItem(this=0x000000028be8cc20, pSalMenuItem=0x000000028be67420, nPos=65535) at vcl/osx/salmenu.cxx:489:9 > frame #7: 0x000000010aa8a424 libvcllo.dylib`Menu::NbcInsertItem(this=0x000000028be78f90, nId=2, nBits=NONE, rStr=0x000000028070ef70, pMenu=0x000000028be78f90, nPos=65535, rIdent=0x000000028070ef10) at vcl/source/window/menu.cxx:416:27 [...] and the main thread in both cases in the main loop at > thread #1, queue = 'com.apple.main-thread' > frame #0: 0x0000000183c43488 libsystem_kernel.dylib`__psynch_cvwait + 8 > frame #1: 0x0000000183c79568 libsystem_pthread.dylib`_pthread_cond_wait + 1192 > frame #2: 0x00000001013b0354 libc++.1.0.dylib`std::__1::condition_variable::wait(std::__1::unique_lock<std::__1::mutex>&) [inlined] std::__1::__libcpp_condvar_wait(__cv=<unavailable>, __m=<unavailable>) at ~/llvm/build/include/c++/v1/__threading_support:436:10 [opt] > frame #3: 0x00000001013b0350 libc++.1.0.dylib`std::__1::condition_variable::wait(this=<unavailable>, lk=<unavailable>) at ~/github.com/llvm/llvm-project/libcxx/src/condition_variable.cpp:44 [opt] > frame #4: 0x0000000115d0a8fc libvclplug_osxlo.dylib`void std::__1::condition_variable::wait<SalYieldMutex::doAcquire(unsigned int)::$_0>(this=0x000000013fec8f50, __lk=0x000000016f255bf8, __pred=(anonymous class) @ 0x000000016f255b80)::$_0) at ~/llvm/inst/include/c++/v1/__mutex_base:406:9 > frame #5: 0x0000000115d0a71c libvclplug_osxlo.dylib`SalYieldMutex::doAcquire(this=0x000000013fec8ef0, nLockCount=1) at vcl/osx/salinst.cxx:215:36 > frame #6: 0x000000010b15ec90 libvcllo.dylib`comphelper::SolarMutex::acquire(this=0x000000013fec8ef0, nLockCount=1) at include/comphelper/solarmutex.hxx:86:5 > frame #7: 0x000000010b8215c4 libvcllo.dylib`SalInstance::AcquireYieldMutex(this=0x000000013febbd10, nCount=1) at vcl/source/app/salvtables.cxx:121:73 > frame #8: 0x000000010b8c1d78 libvcllo.dylib`Application::AcquireSolarMutex(nCount=1) at vcl/source/app/svapp.cxx:562:25 > frame #9: 0x0000000115d10000 libvclplug_osxlo.dylib`SolarMutexReleaser::~SolarMutexReleaser(this=0x000000016f255e28) at include/vcl/svapp.hxx:1421:29 > frame #10: 0x0000000115d0c650 libvclplug_osxlo.dylib`SolarMutexReleaser::~SolarMutexReleaser(this=0x000000016f255e28) at include/vcl/svapp.hxx:1421:27 > frame #11: 0x0000000115d0c2d8 libvclplug_osxlo.dylib`AquaSalInstance::DoYield(this=0x000000013febbd10, bWait=true, bHandleAllCurrentEvents=false) at vcl/osx/salinst.cxx:570:9 > frame #12: 0x000000010b8c1558 libvcllo.dylib`ImplYield(i_bWait=true, i_bAllEvents=false) at core/vcl/source/app/svapp.cxx:463:48 > frame #13: 0x000000010b8c1298 libvcllo.dylib`Application::Yield() at vcl/source/app/svapp.cxx:528:5 > frame #14: 0x000000010b8c120c libvcllo.dylib`Application::Execute() at vcl/source/app/svapp.cxx:442:9 [...] Change-Id: I5146b7bdeb6b1b9b9ad4f4b91bbe52de0b76f308 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/109648 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2021-01-19loplugin:colorcheck (macOS)Stephan Bergmann1-3/+3
as suggested by noelgrandin on IRC, "just add ColorTransparency as the first param, since that will maintain whatever the code is doing currently (whether it is actually correct is a different story)" Change-Id: I3fd7f10ffadc343f3f9a532120e2a7bbb33244d7 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/109616 Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> Reviewed-by: Stephan Bergmann <sbergman@redhat.com> Tested-by: Jenkins
2021-01-19-Werror,-Wdeprecated-anon-enum-enum-conversionStephan Bergmann1-1/+1
same as f9c6a153c95c4acc6ba02e660c6ca51166b4c79a "-Werror,-Wdeprecated-anon-enum-enum-conversion" Change-Id: Ie69413a98269c215eaf2cbd938708f0d9fcf28d7 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/109614 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2021-01-18Clean up includes a bit for iOS and macOSTor Lillqvist1-16/+0
Change-Id: I1dc6256968503ee3865f90e3693acce911a1d65c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/109485 Tested-by: Jenkins Reviewed-by: Tor Lillqvist <tml@collabora.com>
2021-01-17tdf#138122: Fix vcl for iOS after 1a167625314bf36b735176ed488e6ba9b5e9b675Tor Lillqvist2-0/+675
Make vcl compile again for iOS and make the Collabora Office iOS app work again when built against a master build of core. For now, keep the old versions of the functions touched by 1a167625314bf36b735176ed488e6ba9b5e9b675 in vcl/ios/salios.cxx, and move the modified versions to the new file vcl/osx/salmacos.cxx. Keep the functions as they were except that ifdefs for MACOSX or IOS are expanded. Keep the formatting as it was to make comparisons easier. Thus add the new files to the clang-format exclusion list. While at it, also move vcl/quartz/salgdiutils.cxx to vcl/osx as it is compiled only for macOS anyway. Change-Id: I990ef678f2263031d4a5af8cc547fffe185d17c4 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/109480 Tested-by: Jenkins Reviewed-by: Tor Lillqvist <tml@collabora.com>
2021-01-17tdf#138314 Change selected tab text color on macOS Big SurThorsten Wagner1-11/+21
Starting with macOS Big Sur, coloring has changed. Currently there is no documentation which system color should be used for selected tab text. As a workaround text color is changed for macOS Big Sur and newer only. Change-Id: I2e8c83527775c17f95e5e4afe70577442e14715e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/109479 Tested-by: Tor Lillqvist <tml@collabora.com> Reviewed-by: Tor Lillqvist <tml@collabora.com>
2021-01-17tdf#138122 Add window scaling for retina displays on macOSThorsten Wagner1-0/+15
(1) Remove hack to make application look as if being linked against SDK 10.13 (2) Use quad storage size on virtual devices for displaying on retina displays thereafter (3) Apply workaround to downsample bitmaps from scaled layers (to be implemented) (4) Disable dark mode (to be implemented) (5) Provide new environment variables: VCL_MACOS_FORCE_WINDOW_SCALING: window scaling on non retina displays VCL_MACOS_FORCE_DARK_MODE: enable dark mode (macOS 10.14, iOS 13 and newer) VCL_MACOS_USE_SYSTEM_APPEARANCE: use light mode or dark mode (macOS 10.14, iOS 13 and newer) as configured by system preferences Change-Id: I99877cd62a98cb91bcbf27af62b043c31c5f5fc9 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/109072 Tested-by: Jenkins Reviewed-by: Tor Lillqvist <tml@collabora.com>
2021-01-16Enable pasting of LINK data from the system pasteboard on macOSTor Lillqvist1-2/+13
Also add more documentation on how the flavorMap array works. The interesting thing is that the code stores anything you throw at it on the system pasteboard. But in another LibreOffice process, it won't accept types not mentioned in the array even if it as such is a type that other parts of the code would look for. Thus, adding the "application/x-openoffice-link;windows_formatname=\"Link\"" type to the array means that if there is such data on the system pasteboard (from an earlier or simultaneous run of LibreOffice), it will be pasteable also in a different LibreOffice process from the one that put it there. (While at it, order the FLAVOR_FOO variable definitions to be in the same order as their use in the array entries.) Change-Id: I913cc732e4dfb32d4b098505aa10806976db6326 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/109384 Reviewed-by: Tor Lillqvist <tml@collabora.com> Tested-by: Tor Lillqvist <tml@collabora.com>
2021-01-15remove leftover codeNoel Grandin1-1/+0
from commit 0918eade90e19dd8e9a246446dcb9463c6c7f7cc "remove unnecessary macos cursor code" Change-Id: Ieab46070e8da83ab6c054a57006e7760d69a2a43 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/109326 Tested-by: Tor Lillqvist <tml@collabora.com> Reviewed-by: Tor Lillqvist <tml@collabora.com>
2021-01-15Fix handling of the OBJECTDESCRIPTOR clipboard (pasteboard) type on macOSTor Lillqvist1-34/+45
This fixes a demonstrable problem, and affects only macOS. This is also on the path towards fixing https://github.com/CollaboraOnline/online/issues/849 , even if the code touched here is for macOS only. The iOS pasteboard handling code is based on the macOS one. We need the pasteboard to have the OBJECTDESCRIPTOR type as a MIME type that includes the typename attribute, because the code in sc checks for that when it decides whether it is a proper OBJECTDESCRIPTOR. Simplify the data in the flavorMap array. No need to duplicate the same MIME type string as both the pasteboard type and MIME type, for those cases where the MIME type is used diretly as pasteboard type. We also know that for those types, the MIME type might have additional parameters, so be more lenient in checking. With this change, and my recent change to sot, this now works: Start LibreOffice. Open a spreadsheet. Select a cell range. (It can include formulas.) Edit > Copy. Quit LibreOffice. Start LibreOffice again. Open a spreadsheet. Edit > Paste. You get the very same cells that you pasted as such (with relative cell addresses in formulas properly adjusted, as expected). Previously, it would paste an image of the copied cell range, which is fairly pointless. There is still lots of opportunity for cleanup in the clipboard code for macOS and iOS. It is presumably rather pointless to put images on the pasteboard in Windows bitmap format, for instance. Just PNG should be enough. No idea why the code provides the TIFF pasteboard type for images. Ditto for Windows metafiles (WMF and EMF). It is also unclear how useful the EMBED_SOURCE or LINK_SOURCE types are on macOS, for instance. Change-Id: I573648480b03972b506203b4f470d513bcb81212 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/109297 Tested-by: Jenkins Reviewed-by: Tor Lillqvist <tml@collabora.com>
2021-01-14remove unnecessary macos cursor codeNoel Grandin1-22/+3
certainly on my Catalina macOS install it makes no difference with or without this code. I could have sworn it was necessary back when I added it, but since I'm going on snippets of hacking scattered around the net (because Apple 's documentation is rather lacking), who knows. Change-Id: I8a66a5179ab7ca8138e54a57564b8d453848c0e3 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/109241 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-01-11Avoid assertion failure related to cursor sizes on macOSTor Lillqvist1-3/+3
No idea why this assertion failure started to show up now (at least when viewing a presentation slide show). Anyway, apparently the code needs to handle 256x256 cursors, too, and not just 128x128 and 32x32 ones. Apparently the assertion failure is caused by icon-themes/colibre/vcl/res/null.png. Sadly I don't really understand the code around here, but this commit gets rid of the assertion failure, and that is good enough for me for now. This problem was reported in a comment in the otherwise unrelated tdf#138122, and the assertion failure caused a hang, which is not good, reported as tdf#139535. That general problem is not fixed by this commit. Change-Id: I1390f00e03e0766d54969d9d62311a55da8e8945 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/109083 Tested-by: Tor Lillqvist <tml@collabora.com> Reviewed-by: Tor Lillqvist <tml@collabora.com>
2020-12-14Fix and clean up SalAbort implementations on macOS and WindowsStephan Bergmann1-13/+0
Since "forever", SalAbort has been declared as non-exported in vcl/inc/salinst.hxx and (only) called from Application::Abort (vcl/source/app/svapp.cxx) in Library_vcl. Its various implementations for different platforms have always been scattered across Library_vcl. For Windows, SalAbort was originally implemented in vcl/win/app/salinst.cxx, until 1698debed2993fc5f262aa3ebbdb32fc112ac556 "Implement Windows VCL backend as plugin" introduced an incompatible implementation in vcl/win/app/salplug.cxx (which was added to Library_vcl) and moved the original implementation in vcl/win/app/salinst.cxx from Library_vcl to Library_vclplug_win, where it thus became dead code (and where it now gets removed). For macOS, SalAbort was originally implemented in vcl/osx/salinst.cxx, until 3af4e1a0825c5b11ae4ef58fc411378aab669387 "Implement MacOSX VCL backend as plugin" introduced a different implementation in vcl/osx/salplug.cxx (which was added to Library_vcl) and moved the original implementation in vcl/osx/salinst.cxx from Library_vcl to Library_vclplug_win, where it thus became dead code (and where it now gets removed). (In 0f3be2e19fa408d7069d586ccf04cb3f3eccd6b9 "Unify sal plugin loaders", the--- identical---new implementations in vcl/osx/salinst.cxx and vcl/win/app/salinst.cxx where then consolidated with other---also identical--- implementations in vcl/source/app/salplug.cxx.) For macOS, the original, now removed implementation in vcl/osx/salinst.cxx and the consolidated implementation in vcl/source/app/salplug.cxx only differed in an added CrashReporter::addKeyValue("AbortMessage", rErrorText, CrashReporter::Write); which is presumably harmless to add. But for Windows, the original, now removed implementation in vcl/win/app/salinst.cxx differed substantially from the consolidated implementation in vcl/source/app/salplug.cxx, which is updated here to reflect those differences. The one thing that cannot easily be updated, though, is the //TODO: ImplFreeSalGDI(); call, as ImplFreeSalGDI is defined in Library_vclplug_win. I'll thus leave fixing that TODO for another commit (if calling ImplFreeSalGDI from SalAbort is even necessary, given that it ends in FatalAppExitW anyway)---my gut feeling is that the whole 1698debed2993fc5f262aa3ebbdb32fc112ac556 "Implement Windows VCL backend as plugin" was somewhat misguided. Change-Id: I641a3d7b1bc27ae14c38eb1ec0838bc04e4290d2 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/107666 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2020-12-13loplugin:stringviewparam (macOS)Stephan Bergmann1-1/+2
Change-Id: I3f026a3c2348b55cadf40f5d28c90963266486f1 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/107658 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2020-12-07loplugin:stringviewparam (macOS)Stephan Bergmann1-2/+3
Change-Id: I75344c7eda051838c015f0c4126788fd3628682f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/107356 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2020-11-26Add 'SinglePrintJobs' to PrintOptionsSamuel Mehrbrodt1-6/+1
So that this option can be set via UNO API Change-Id: I0b69162661a4327d59aaed82d5eff98cb50d852c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/106593 Tested-by: Jenkins Reviewed-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de>
2020-11-24Remove unused parameter (flagged now by loplugin:stringview)Stephan Bergmann1-3/+2
Change-Id: I78e2b60945f256de5e7455373a2ecff72f9eaae7 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/106484 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2020-11-22tdf#123936 Formatting files in module vcl with clang-formatPhilipp Hofer25-115/+117
Change-Id: Ia162ad5b7499c0ddfdbfca59ae76b81335ce2d45 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/105728 Reviewed-by: Christian Lohmaier <lohmaier+LibreOffice@googlemail.com> Tested-by: Jenkins
2020-11-15loplugin:toolslong in Library_vclplug_osxStephan Bergmann8-64/+71
Change-Id: I63892376154893a97e6b205b93c1682f66fd3064 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/105756 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2020-11-15CGFloat appears to be a more suitable type hereStephan Bergmann1-24/+24
...interacting with NS data sructures and functions Change-Id: I16e155be33754a06fa2d6decb32be961f83255f8 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/105752 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2020-11-15Assumed UNOIDL long vs. C++ sal_Int32 confusionStephan Bergmann1-3/+3
UNOIDL css.accessibility.XAccessibleValue.getCurrentValue returning any is documented: "The exact return type is implementation dependent. Typical types are long and double." So assume that this code meant to extract a UNOIDL long, i.e., sal_Int32 in C++, value. (And similarly for getMinimum/MaximumValue. Also, the "TODO: Detect Type from Any" comments seem to imply that something more elaborate is asked for, anyway?) Change-Id: If01956eaf4ec186931414a4e1d55429e66901c55 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/105745 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2020-11-15DPI values are generally represented as sal_Int32 in VCLStephan Bergmann2-2/+2
cf. e.g. pure virtual SalGraphics::GetResolution (vcl/inc/salgdi.hxx) Change-Id: I77d54ad0a7b80cf8839b253c14ce468ac4e16c84 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/105748 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2020-11-15UNOIDL long vs. C++ sal_Int32 confustionStephan Bergmann1-1/+1
UNOIDL css.awt.Point members x, y are of type long, i.e., sal_Int32 in C++ Change-Id: I3a8f087af2e282e6b82a8409a1202f3be18464ca Reviewed-on: https://gerrit.libreoffice.org/c/core/+/105744 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2020-11-15UNOIDL long vs. C++ sal_Int32 confustionStephan Bergmann1-1/+1
UNOIDL css.accessibility.XAccessibleText.getCaretPosition returns long, i.e., sal_Int32 in C++ Change-Id: Iaf6f6407f77a3d3fae7cd99e08c4cd43343a7af6 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/105742 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2020-11-15UNOIDL long vs. C++ sal_Int32 confustionStephan Bergmann1-3/+3
UNOIDL css.accessibility.XAccessibleTextMarkup.getTextMarkupCount uses long, i.e., sal_Int32 in C++, for both its TextMarkupType parameter and its return type Change-Id: Ie4dbebf76c5a946f1954853d98c705baa301b060 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/105743 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2020-10-21Revert "tdf#137468: Use the colour space of the main display"Tor Lillqvist1-2/+1
Sadly that commit made the CppunitTest_vcl_bitmap_render_test fail on many Macs, including my 2020 iMac. This reverts commit cb48b7205cc6cdcf6741bc430266481a8b6b4769. Change-Id: If1a9605c112904d253664cbc9749cf3987dff473 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/104613 Tested-by: Tor Lillqvist <tml@collabora.com> Reviewed-by: Tor Lillqvist <tml@collabora.com>
2020-10-20tdf#137468: Use the colour space of the main displayLeo Wang1-1/+2
Change-Id: I301dcadcc469c1810e3b64e6fee6b982bebaf040 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/104477 Tested-by: Jenkins Reviewed-by: Tor Lillqvist <tml@collabora.com>
2020-10-20tdf#137468: Restrict window depth to 24 bit RGBLeo Wang1-0/+5
Change-Id: I65c168155092d89d0302043b4052fed2def18c63 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/104476 Tested-by: Jenkins Reviewed-by: Tor Lillqvist <tml@collabora.com>
2020-09-02tdf#133564: Text coloring of buttons within non key windows on macOS reworkedThorsten Wagner1-1/+1
Change-Id: Ida31f59c853eb3312175cd6dd99b7b1006e014a7 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/100650 Tested-by: Jenkins Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2020-08-26[API CHANGE] Drop OSL_THIS_FUNC, directly use C++11 __func__Stephan Bergmann1-1/+1
It had been documented as "the macro OSL_THIS_FUNC is intended to be an office internal macro for now", so take the liberty of removing it, even if technically that can be considered an incompatible API change. Change-Id: I7580a932e1da54845934378a650e894f3f3a9062 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/101406 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2020-08-25tdf#136094 Handle background color in drawNativeControlMichael Weghorn1-1/+2
Make gtk3's 'GtkSalGraphics::drawNativeControl' take into account a control's background color, if any is explicitly set: Set background/fill color (in 'Edit::ApplySettings') also for the case where the control is drawn "natively", but don't draw the background in the generic 'Window::Erase' method for the case of native drawing; instead handle it when drawing the control itself. This adds an additional parameter to pass the background color to the relevant '{d,D}rawNativeControl' methods (defaulting to 'COL_AUTO') and implements the required handling to apply the background color for the gtk3 case. qt5/kf5 will probably be handled in an upcoming commit as well. Windows as well as the "gen" VCL plugin were not affected by the issue, so remain unchanged and just ignore the new parameter. In a quick test on on macOS, the rendering of the controls in the sample doc was broken beyond just the missing background colors (s. screenshot attached to tdf#136094); the behavior there also remains unchanged by this patch, the new parameter is ignored for now. Change-Id: I01923a504fea2367ae96032104f09099e35f410e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/101284 Reviewed-by: Michael Weghorn <m.weghorn@posteo.de> Tested-by: Michael Weghorn <m.weghorn@posteo.de>
2020-08-18Fix typosAndrea Gelmini1-1/+1
Change-Id: I85a91d24943430b42217ac91611f182059d8ec69 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/100919 Tested-by: Jenkins Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2020-08-17"loplugin:stringstatic also look for local statics" macOS reduxStephan Bergmann1-27/+13
...plus addressing follow-up loplugin:stringconstant when inlining the literals at their sole call sites Change-Id: I727e2d3fe53e85af328afc5fba92e52fb63c49b4 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/100839 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2020-08-02Fix typoAndrea Gelmini1-1/+1
Change-Id: I298d8c5aac6e340fb4d5c753abbd8fa80ffc9408 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/99962 Tested-by: Jenkins Reviewed-by: Julien Nabet <serval2412@yahoo.fr>