summaryrefslogtreecommitdiff
path: root/vcl/osx/a11ywrapper.mm
AgeCommit message (Collapse)Author
2024-07-18tdf#155447 macOS a11y: Report accessibilityIdentifierMichael Weghorn
Implement `accessibilityIdentifier` [1] for macOS/NSAccessibility by retrieving the accessible ID via `XAccessibleContext2::getAccessibleId` if that interface is implemented. This is the macOS equivalent of commit c64b823b74cbd3063d6e87643bd68ea5343b2f54 Author: Michael Weghorn <m.weghorn@posteo.de> Date: Tue Jul 16 13:57:41 2024 +0200 tdf#155447 qt a11y: Report accessible ID [1] https://developer.apple.com/documentation/appkit/nsaccessibilityprotocol/1527792-accessibilityidentifier Change-Id: I43c40f5309467ddb00911297fadb6716500c2dcb Reviewed-on: https://gerrit.libreoffice.org/c/core/+/170624 Tested-by: Jenkins Reviewed-by: Patrick Luby <guibomacdev@gmail.com> Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2024-07-12tdf#67943 tabs must have radio button role and tab button subrolePatrick Luby
Also, reimplement -[AquaA11yWrapper tabsAttribute] to return children for tab bars. This will cause VoiceOver to announce that the currently selected tab is "X of Y" tabs in the tab bar. Change-Id: I2c3b890fd445c22842b90d60170a71e4e8aa91ff Reviewed-on: https://gerrit.libreoffice.org/c/core/+/170389 Reviewed-by: Patrick Luby <guibomacdev@gmail.com> Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2024-05-31Fix some macOS memory leaks due to overretaining Objective-C objectsPatrick Luby
Change-Id: If826476ad6c6692d22519f4eb0fb45621240fdbf Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168271 Reviewed-by: Patrick Luby <guibomacdev@gmail.com> Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2024-05-31loplugin:fakeboolStephan Bergmann
Change-Id: Ifbb27bf3486a88621f5ca125845e603f9e3925a4 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168245 Reviewed-by: Stephan Bergmann <stephan.bergmann@allotropia.de> Tested-by: Jenkins
2024-05-31loplugin:rangedforcopyStephan Bergmann
Change-Id: I743695dde8928e1a742006518e7d6374087d5cae Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168244 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <stephan.bergmann@allotropia.de>
2024-05-26Related tdf#158914: fix memory leaks by calling (auto)release selectorsPatrick Luby
Found the following memory leaks using Xcode's Instruments application: 1. Posting an NSAccessibilityUIElementDestroyedNotification notification causes [ AquaA11yWrapper isAccessibilityElement ] to be called on the object so mark the object as disposed before posting the destroyed notification and test for disposed in all of the standard NSAccessibility selectors to prevent any calls to likely disposed C++ accessibility objects. 2. In [ AquaA11yWrapper accessibilityHitTest: ], [ AquaA11yFactory wrapperForAccessibleContext: ] already retains the returned object so retaining it until the next call to this selector can lead to a memory leak when dragging selected cells in Calc to a new location. So autorelease the object so that transient objects stay alive but not past the next clearing of the autorelease pool. 3. [ AquaA11ySelectionWrapper selectedChildrenAttributeForElement: ] is expected to return an autoreleased object. 4. [ AquaA11yFactory wrapperForAccessible: ] is not a getter. It expects the caller to release the returned object. 5. CreateNSString() is not a getter. It expects the caller to release the returned string. Change-Id: I824740d7e3851b0c3e31e2c009860aa822c94222 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168034 Reviewed-by: Patrick Luby <guibomacdev@gmail.com> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> Tested-by: Jenkins
2024-04-24[API CHANGE] a11y: Use XAccessible for relation targetsMichael Weghorn
Use a Sequence of XAccessible rather than its base interface XInterface for AccessibleRelation's TargetSet. As the targets are accessible objects as well, anything other than XAccessible doesn't make much sense. Using XAccessible right away makes that clearer and avoids the need to query the XAccessible interface. (The winaccessibility bridge was already using `static_cast`, relying on the fact that the objects are XAccessibles.) The a11y UNO API is not published, so an API change should be unproblematic. Change-Id: I7f08e98d1ec303d5343d9a7954187cdd71495ebc Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166586 Reviewed-by: Michael Weghorn <m.weghorn@posteo.de> Tested-by: Jenkins
2023-11-01macOS a11y: Don't report (non-)expanded state when not expandableMichael Weghorn
When the a11y object is not expandable, also don't report a true/false value for the expanded state on macOS. Otherwise, the CrossOver screen reader on macOS will explicitly announce "collapsed" for these objects, e.g. when moving focus between paragraphs in Writer (as reported on the a11y mailing list [1]) or between toolbar butons, since `isAccessibilityExpanded` gets called and returns false, so it is assumed that this is an expandable item that is currently not expanded, i.e. it is collapsed. Quoting from the NSAccessibilityProtocol doc [2]: > You can control which accessor methods the assistive app can > use by overriding isAccessibilitySelectorAllowed(_:). > Return true if the assistive app can call the selector; > otherwise, return false." [1] https://listarchives.libreoffice.org/global/accessibility/msg01068.html [2] https://developer.apple.com/documentation/appkit/nsaccessibilityprotocol: Change-Id: Iac9027a598e5793d6bd0da79212d7b07448a4c34 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/158733 Tested-by: Jenkins Reviewed-by: Patrick Luby <plubius@neooffice.org> Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2023-06-20loplugin:cstylecastStephan Bergmann
Change-Id: I32e3e9bff261f95010582c6e5e2d22abb725f402 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/153311 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2023-06-16tdf#146626 catch IndexOutOfBoundsException when fetching accessible childrenPatrick Luby
com::sun::star::accessibility::XAccessibleContext::getAccessibleChild() can throw an IndexOutOfBoundsException exception even when fetching with an index that is positive and less than the value returned by a call to the accessible context's getAccessibleChildCount() method so put every getAccessibleChild() call in a try/catch block. Note: this is actually expected behavior even though it is rare. For example, accessibility::AccessibleTextHelper_Impl::getAccessibleChild() uses the following code snippet to throw such an exception: if( 0 > i || i >= getAccessibleChildCount() || GetTextForwarder().GetParagraphCount() <= i ) In the case of tdf#146626, getAccessibleChildCount() returns 22 but getAccessibleChild(1) throws such an exception due to the last condition in the above code snippet. Change-Id: If974afb7b9178faa99b91dcd79eb5f169bbfe13e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/153160 Tested-by: Jenkins Reviewed-by: Patrick Luby <plubius@neooffice.org>
2023-06-07Partial fix tdf#155376 use NSAccessibilityElement instead of NSViewPatrick Luby
On macOS, accessibility is implemented by creating a native NSView for each C++ accessible element. The problem with using an NSView for each element is that NSViews are very slow to add to or remove from an NSWindow once the number of NSViews is more than a thousand or so. Fortunately, Apple added a protocol that allows adding a native accessible element using the lightweight NSAccessiblityElement class. The topmost NSAccessiblityElement elements are connected to the single SalFrameView in each NSWindow but since NSAccessiblityElements are not NSViews, they are not connected to any of NSWindow's event or draw dispatching. This makes NSAccessiblityElements significantly faster to add to or remove from an NSWindow with no apparent loss in functionality. Note: this change is a subset of the LibreOffice 4.4 code changes that I wrote for NeoOffice. Change-Id: I408108d57217db407512dfa3457fe26d2ab455de Reviewed-on: https://gerrit.libreoffice.org/c/core/+/152717 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> Reviewed-by: Patrick Luby <plubius@neooffice.org>
2023-06-02reduce memory overhead of AquaA11yWrapperNoel Grandin
we can allocate this internally, which reduces the number of heap allocations we need to do Change-Id: Id5298e70b6816cd65d8285ceea846dc8e9e4b39d Reviewed-on: https://gerrit.libreoffice.org/c/core/+/152489 Reviewed-by: Patrick Luby <plubius@neooffice.org> Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-05-29Related tdf#tdf155376 fix minor memory leaksPatrick Luby
Change-Id: I9cdc5fb38ffba113e3d069d9d766dbe1a82c492d Reviewed-on: https://gerrit.libreoffice.org/c/core/+/152352 Tested-by: Jenkins Reviewed-by: Patrick Luby <plubius@neooffice.org> (cherry picked from commit 7ae89a2ad89c9e7702fbd2b31269ee4c61fe5bcb) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/152316
2023-05-29Partial fix tdf#146626 Catch uncaught DisposedExceptionPatrick Luby
Fix crash due to an uncaught DisposedException thrown by SwAccessibleParagraph::getTextRange() by using the same try/catch block in -[A11yWrapper accessibilityAttributeValue:] in -[A11yWrapper accessibilityAttributeValue:forParameter]. Change-Id: Ifcaec3eb2d76f32bddc56a1242f6d86f8b90f782 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/152361 Tested-by: Jenkins Reviewed-by: Patrick Luby <plubius@neooffice.org> (cherry picked from commit f8cc6f960e8aeb37547d447fed2b2c6e6ddc02e3) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/152317
2023-04-13Related: tdf#153374 Don't release autoreleased attributeNamesPatrick Luby
Also, return an autoreleased empty array instead of a retained array. Change-Id: I5f494b301dbae859486d6bc4874112b714022b60 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/150307 Tested-by: Jenkins Reviewed-by: Patrick Luby <plubius@neooffice.org>
2023-01-20tdf#148453 Fix crash by turning off optimization for Objective-C selectorPatrick Luby
The default attributes sequence sometimes crashes when it is released but only when compiler optimization is enabled, so disable optimization for the +[AquaA11yTextAttributesWrapper createAttributedStringForElement] selector. Also, disabling optimization by itself is apparently not enough to stop the crashing. Acquiring the solar mutex during native accessibility calls is also needed. Native accessibility calls are called from native input sources in [NSApp nextEventMatchingMask:untilDate:inMode:dequeue:]. Since AquaSalInstance::DoYield() releases the solar mutex before calling [NSApp nextEventMatchingMask:untilDate:inMode:dequeue:], we need to always acquire the solar mutex during all NSAccessibility selectors (both the old informal protocol and the newer formal protocol) that we implement. Change-Id: I9b715e17e9c5a32b7ce28815e288b2af236c3cc6 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/145742 Tested-by: Jenkins Reviewed-by: Patrick Luby <plubius@neooffice.org>
2022-09-02[API CHANGE] tdf#150683 a11y: Switch a11y child index to 64 bitMichael Weghorn
With 16k column support in Calc enabled by default in commit 4c5f8ccf0a2320432b8fe91add1dcadf54d9fd58 Date: Tue Mar 8 12:44:49 2022 +0100 change default Calc number of columns to 16384 (tdf#50916) , the number of Calc cells in a spreadsheet is larger than SAL_MAX_INT32, meaning that a 32-bit a11y child index is no more enough and using it resulted in integer overflows in methods handling corresponding Calc cells in the a11y layer. This e.g. had the effect of the Orca and NVDA screen readers not announcing focused or selected cells properly when their a11y child index was out of the 32-bit integer range. Switch the internal a11y child indices to 64 bit to be able to handle this properly internally. Since the platform APIs (at least AT-SPI on Linux and IAccessible2 on Windows; from what I can see LO's macOS a11y bridge doesn't directly expose the child index) are still restricted to 32 bit, larger child indices still cannot be exposed via the platform APIs. As a consequence, use of the the IAccessible2 and AT-SPI methods that use the child index remains problematic in those cases where the child index is larger. However, as an alternative to using the AT-SPI Table interface and the IAccessibleTable/ IAccessibleTable2 interfaces with the child index to retrieve information about a specific cell, both AT-SPI and IAccessible2 also provide interfaces to retrieve that information directly from the cell object (TableCell interface for AT-SPI, IAccessibleTableCell for IAccessible2). Those interfaces are already implemented/exposed for winaccessibility (s. `CAccTable`) and the qt5/qt6/kf5 VCL plugins (s. the `QAccessibleTableCellInterface` methods implemented in `QtAccessibleInterface`). With the switch to 64-bit internal a11y child indices, these now behave correctly for cells with a child index that doesn't fit into 32 bit as well. NVDA on Windows already uses the IAccessibleTableCell interface and thus announcing focused cells works fine with this change in place. Orca on Linux currently doesn't make use of the AT-SPI TableCell interface yet, but with a suggested change to do so [1], announcement of selected cells works with the qt6 VCL plugin with a current qtbase dev branch as well - when combined with the suggested changes to implement support for the AT-SPI TableCell interface in Qt [2] [3] and the LO change based on that [4] and a fix for a nullptr dereference [5]. The gtk3 VCL plugin doesn't expose the AT-SPI TableCell interface yet, but once it does so (via `AtkTableCell`), it also works with the suggested Orca change [1] in place. (Adding that is planned for an upcoming change, works with a local WIP patch.) For handling return values that are larger than what platform APIs support, the following approach has been chosen for now: 1) When the return value is for the count of (selected) children, the maximum value N supported by the platform API is returned. (This is what `ScAccessibleTableBase::getAccessibleChildCount` did previously.) The first N elements can be accessed by their actual (selection) indices. 2) When the return value is the child/cell index, -2 is returned for objects whose index is greater than the maximum value supported by the platform API. Using a non-negative value would mean that the index would refer to *another* actually existing child. A child index of -1 on the other hand tends to be interpreted as "child is invalid" or "object isn't actually a child of its (previous) parent any more)". For the Orca case, this would result in objects with a child index of -1 not being announced, as they are considered "zombies" [6]. What's still somewhat problematic is the case where more than 2^31 children are *selected*, since access to those children still happens by the index into the selection in the platform APIs, and not all selected items are accessible this way. (Screen readers usually just retrieve the first and last element from the selection and announce those.) Orca already seems to apply different handling for the case for fully selected rows and columns, so "All cells selected" or "Columns ... to ... selected" is announced just fine even if more than 2^31 cells are selected. (Side note: While Microsoft User Interface Automation - UIA - also uses 32-bit indices, it also has specific methods in the ISelectionProvider2 interface that allow to explicitly retrieve the first and last selected item, `ISelectionProvider2::get_FirstSelectedItem` and `ISelectionProvider2::get_LastSelectedItem`, but we currently don't support UIA on Windows.) Bound checks at the beginning of the methods from the `XAccessibleContext`, `XAccessibleSelection` and `XAccessibleTable` interfaces that take a child index (or in helper methods called by those) should generally already prevent too large indices from being passed to the methods in the lower layer code that take smaller integer types. Such bound checking has been been added in various places where it wasn't present yet. If there any remaining issues of this kind that show after this commit, they can probably be solved in a similar way (s.e.g. the change to `AccessibleBrowseBox::getAccessibleChild` in this commit). A few asserts were also added at places where my understanding is that values shouldn't be larger than what is supported by a called method anyway. A test case will be added in a following change. [1] https://gitlab.gnome.org/GNOME/orca/-/merge_requests/131 [2] https://codereview.qt-project.org/c/qt/qtbase/+/428566 [3] https://codereview.qt-project.org/c/qt/qtbase/+/428567 [4] https://gerrit.libreoffice.org/c/core/+/138750 [5] https://codereview.qt-project.org/c/qt/qtbase/+/430157 [6] https://gitlab.gnome.org/GNOME/orca/-/blob/82c8542002e36e0d3d918088d583162d25136143/src/orca/script_utilities.py#L5155 Change-Id: I3af590c988b0e6754fc72545918412f39e8fea07 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/139258 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2022-07-08[API CHANGE] Drop css::accessibility::XAccessibleStateSetNoel Grandin
which is internal API, unused (as far as I can tell) by external users. This state is purely a bitset (as implemented by utl::AccessibleStateSetHelper) so we can just return it as a 64-bit value. This shaves significant time off the performance profiles of code that loads very complex shapes, because this state is frequently used, and we no longer need to allocate a return value on the heap for every call. Change-Id: Icf1b3bd367c256646ae9015f9127025f59459c2c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/136786 Reviewed-by: Michael Weghorn <m.weghorn@posteo.de> Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-06-28loplugin:indentation (macOS)Stephan Bergmann
Change-Id: Ia7b33ee93dbb4d27a2387af6e2dd247b5f0b0788 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/118026 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2020-11-15UNOIDL long vs. C++ sal_Int32 confustionStephan Bergmann
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-05-28loplugin:sequenceloop (macOS)Stephan Bergmann
Change-Id: Ie1f5c925a058ef79df3f5183051c87fa8d342fb7 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/95063 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2020-05-21use for-range on Sequence in testtools..xmloffNoel Grandin
Change-Id: I05b02a2f8b4b9091c7de0f7e98409d5b608ed250 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/94610 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2019-11-15loplugin:fakebool and loplugin:consttobool (macOS)Stephan Bergmann
Change-Id: I42d6546a9a400d8edb9ecef82614c6c88d4e6e83 Reviewed-on: https://gerrit.libreoffice.org/82806 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2019-10-04enable -Wunused-exception-parameter on clangNoel Grandin
which is useful because our MSVC build will warn about this by default Change-Id: Idcc0f08b69b6eda4dd2ab010a5fdb674787bebcf Reviewed-on: https://gerrit.libreoffice.org/80184 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2019-08-12Fix typosAndrea Gelmini
Change-Id: Idb183e0ee9cccf0e4da16ff984ccf9b57eea0f9e Reviewed-on: https://gerrit.libreoffice.org/77273 Reviewed-by: Julien Nabet <serval2412@yahoo.fr> Tested-by: Julien Nabet <serval2412@yahoo.fr>
2019-02-21loplugin:indentation (macOS)Stephan Bergmann
* Some .m/.mm files that still contained tabs instead of spaces have been cleaned up with Emacs' untabify (and apple_remote/source/HIDRemoteControlDevice.m needed further manual adaptions): apple_remote/source/GlobalKeyboardDevice.m apple_remote/source/HIDRemoteControlDevice.m apple_remote/source/KeyspanFrontRowControl.m apple_remote/source/RemoteControl.m vcl/osx/a11yrolehelper.mm * Some of the changes predate 0626e66d761de18f62e4d00d427903032da9d517 "Avoid loplugin:indentation after preproc conditional inclusion lines" and would likely have no longer been flagged since. Change-Id: Ibf5faffa743c7f79b36109d9879eb79d63c8c40f Reviewed-on: https://gerrit.libreoffice.org/68090 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2018-12-04tdf#121855 like osx case don't search near-infinite calc grid for focusCaolán McNamara
Change-Id: Ie6bccd2781fbbdc5f4d5dc2eb6903191aafe8265 Reviewed-on: https://gerrit.libreoffice.org/64519 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2018-11-19tdf#42949 Fix IWYU warnings in include/vcl/[ab]*Gabor Kelemen
Found with bin/find-unneeded-includes Only removal proposals are dealt with here. Change-Id: If18c80fc64e55d797953e24e40e5d5e62bd9c625 Reviewed-on: https://gerrit.libreoffice.org/63453 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2018-09-18loplugin:external (macOS)Stephan Bergmann
Change-Id: Ib06572a844d2999e9ecd91e26abd98ecec06a0ae Reviewed-on: https://gerrit.libreoffice.org/60665 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2018-08-06Add missing sal/log.hxx headersGabor Kelemen
rtl/string.hxx and rtl/ustring.hxx both unnecessarily #include <sal/log.hxx> (and don't make use of it themselves), but many other files happen to depend on it. This is a continuation of commit 6ff2d84ade299cb3d14d4110e4cf1a4b8070c030 to be able to remove those unneeded includes. This commit adds missing headers to every file found by: grep -FwL sal/log.hxx $(git grep -Elw 'SAL_INFO|SAL_INFO_IF|SAL_WARN|SAL_WARN_IF|SAL_DETAIL_LOG_STREAM|SAL_WHERE|SAL_STREAM|SAL_DEBUG') in files formerly omitted for oversight or non-cxx extension Change-Id: I327c573f44076c6ccfecf737eafccba2da72e1bd Reviewed-on: https://gerrit.libreoffice.org/58600 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
2018-03-17Typos concerning hierarchyJulien Nabet
Change-Id: Ied3c6d1513f2181a5f7da2904a0df2f806146cec Reviewed-on: https://gerrit.libreoffice.org/51465 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2018-01-20More loplugin:cstylecast on macOSStephan Bergmann
Automatic rewrite (of loplugin:cstylecast and loplugin:unnecessaryparen) after cab0427cadddb3aaf1349c66f2fa13a4234ba4b2 "Enable loplugin:cstylecast for some more cases" and a409d32e7f6fc09e041079d6dbc3c927497adfed "More loplugin:cstylecast" Change-Id: Iff4877e8a42804c952c48c13332caf0a83c92870 Reviewed-on: https://gerrit.libreoffice.org/48216 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2017-10-24loplugin:includeform: vcl (macOS)Stephan Bergmann
Change-Id: I4382a45dcffb32c7c001ee722ac1deccb2b01c2d
2017-08-07loplugin:casttovoidStephan Bergmann
Change-Id: Icda66259acf54e6771b926ce9d329287bd610e82
2017-08-07loplugin:oncevarStephan Bergmann
Change-Id: I678b1bf281ae4de4a75f8c83398ee19f75b4f278
2017-05-07revert OSL_ASSERT changesChris Sherlock
Change-Id: I365d140446bd2a62cf8256acbfdd53fe72987380
2017-05-07tdf#43157: convert most of vcl codebase away from OSL_ASSERT to assertChris Sherlock
Change-Id: Ifaae7af7169fe6c24d152f8aba51ba3ff3bdb9f8
2016-07-07loplugin:passstuffbyref also for {css::uno,rtl}::ReferenceStephan Bergmann
Change-Id: Icd5cc30d88f514a724dfe4858d0077650584820d
2016-02-05Remove old non relevant commentNiklas Johansson
The code that the comment is talking about was removed by the commit: fb6edeb20de56359be3d45316a2d665ad8d424a2 Let's remove the comment to spare our selfs from confusion Change-Id: I7bdefb0ead5139be009bfb8dd7d9ad7c6821e3e8 Reviewed-on: https://gerrit.libreoffice.org/22120 Reviewed-by: jan iversen <jani@documentfoundation.org> Tested-by: jan iversen <jani@documentfoundation.org> Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2015-11-18com::sun::star->css in vcl/Noel Grandin
Change-Id: Ifad76177673cf93746ba221838be80ff76fed228 Reviewed-on: https://gerrit.libreoffice.org/20032 Reviewed-by: Noel Grandin <noelgrandin@gmail.com> Tested-by: Noel Grandin <noelgrandin@gmail.com>
2015-11-05use uno::Reference::set method instead of assignmentNoel Grandin
Change-Id: I31a69a997098eb1807361b8049c3312a4f287d75
2015-06-08loplugin:cstylecast: deal with remaining pointer castsStephan Bergmann
Change-Id: I07bf1403e6b992807541a499b786d47f835b2f81
2015-01-01get rid of obsolete code for 32-bit targetsDouglas Mencken
fixes vcl/osx/a11ywrapper.mm:1037: error: ambiguous overload for 'operator<<' (operand types are 'std::basic_ostream<char>' and 'CGPoint') Change-Id: Iabf9a1e795c9fe89ff5d6ff379aa6a18dd7dbf65
2014-12-02prefer `if (s)' to `if (nil != s)' for objective-cDouglas Mencken
in objc, explicit comparison with nil isn't necessary and can produce errors like: comparison between distinct pointer types (...) and 'objc_object*' lacks a cast upd: thanks Norbert Thiebaud for suggestion ``hitChild is a Reference so hitChild = nil was !hitChild.is() right?'' Change-Id: I105be50e5a37bb63e360622e590ec4916fa8a84f Reviewed-on: https://gerrit.libreoffice.org/11891 Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2014-11-26Silence Mac OS X 10.9/10.10 deprecations for nowStephan Bergmann
Change-Id: Ie63ed8f6f66a7641ad872f93d76efb962333cec9
2014-11-20[Accessibility] Make the sidebar a bit accessibleNiklas Johansson
The accessibility of the sidebar is heavily built on PANEL's. Since A11y on mac ignored panels it did not pan out well. Also the title was removed from AXGroupRole but is needed to announce the different panels of the sidebar. This might have some unwanted effects on other parts of LibreOffice since a lot of things are built up from AccessibleRole::PANEL. Change-Id: I095d26b3c89e2c0403d3267baa53f3bec5e07662 Reviewed-on: https://gerrit.libreoffice.org/12985 Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2014-02-25loplugin:literaltoboolconversionStephan Bergmann
Change-Id: I74bd9af6936f00fb26273606f7924f99ee7767d3
2014-02-06Related: #i123795# add a windowForParent() method for AquaA11yWrapperHerbert Dürr
for getting the parent window of an A11y enabled NSView. The method viewElementForParent() was abused for that purpose, but it was mis-named and mis-typed. The new method cleans this up and the now unused viewElementForParent() method can be retired. (cherry picked from commit 96cd47d49a3aa5b1e3b96b649f40e516ca568d4b) Conflicts: vcl/osx/a11ywrapper.mm vcl/osx/salframeview.mm Change-Id: Ib88aa1ad442d3b8fb3adbf7a76b3ed8ca268fa87 (cherry picked from commit a7d6569fdecc36bd5ca093442a9b7aec093637d5)
2013-12-06Re-organize OS X and iOS code in vcl a bitTor Lillqvist
Now with the ATSUI code gone is a good time for some re-organisation. Get rid of "aqua" in file names and the separate "coretext" folders. CoreText is all we use now for OS X (and has always been so for iOS), so no need for a "coretext" folder, we can keep the CoreText-using code under "quartz". Keep OS X -specific code in "osx". Ditto for headers. Keep "Aqua" as part of class names for now, though. This is also preparation for planned further unification between OS X and iOS code. Change-Id: Ic60bd73fea4ab98183e7c8a09c7d3f66b9a34223