summaryrefslogtreecommitdiff
path: root/winaccessibility
AgeCommit message (Collapse)AuthorFilesLines
2014-01-27Typo decendant => descendant in winaccessibility/MAccessibleJulien Nabet2-12/+12
Change-Id: I2e49ab149b2bbdad623f8694221b6169cdfd2d9a
2014-01-27fdo#73464 - get relation BSTR allocation right.Michael Meeks1-3/+1
Change-Id: I270bc9c8e0507f44d2c27639e86002c60f4e2e6d
2014-01-27fdo#73464 - guard against NULL / unset m_xAccessible.Michael Meeks1-0/+9
Change-Id: I3351acf18d334447336ee98761190fdff32d5b85
2014-01-27Resolves: #i124095# Multiple IAccessible and IAccessible2...Steve Yin1-2/+8
interface methods do not check for NULL pointer access, nor do they trap exceptions Fixed by Michael Curran (cherry picked from commit 113171f2a5d726af6c5266e98e8e790ac6729d2d) Conflicts: winaccessibility/source/UAccCOM/MAccessible.cxx Change-Id: I28d4b885a6c2db487c2754c2ca11290b3844570b
2014-01-09some notes about COM threading in LO generally and winaccessibilityMichael Stahl2-1/+19
- document general COM threading architecture in vcl README - document winaccessiblitiy locking in README - define _ATL_APARTMENT_THREADED for UAccCOM Change-Id: I7c3fd952f2cdee7d245a818bf33c477e7ea20fc2
2014-01-06Initialize m_containedObjectsSteve Yin1-0/+1
(cherry picked from commit 795b3bb9e59c9bf049d27538c860cd66633dddcf) Change-Id: I45e495ad8b3513613102b7ce7777803303980fbe
2013-12-20typo fixesAndras Timar1-2/+2
Change-Id: Ia5f104bfd707bcf4e159c78ca2764c861fb0b6d9
2013-12-19--disable-atl disables winaccessibilityIsamu Mogi1-0/+2
Change-Id: I548ea294e6c632b8ae95e6745a51d9b12c7e5297 Reviewed-on: https://gerrit.libreoffice.org/7130 Reviewed-by: Michael Stahl <mstahl@redhat.com> Tested-by: Michael Stahl <mstahl@redhat.com>
2013-12-17Adapt all (non-extension, SharedLibrary) .components to environment="..."Stephan Bergmann1-2/+2
Change-Id: I56f38bd786f3a026cb2908f28540dc9c4003af83
2013-12-13Drop duplicate #includeTakeshi Abe1-1/+0
Change-Id: I63612bc5bd4e13fcc5c4e57ac73bd9c7bbf4f0e6
2013-12-12winaccessibility: let's try to remove that IsInMainThread()Michael Stahl4-67/+0
... and see what happens. Hopefully nothing bad since everything should be thread-safe now. Change-Id: I333b29bc2066578ccabadb022936a28dafdf7104
2013-12-12winaccessibility: remove some noise from not-implemented methodsMichael Stahl3-64/+7
Change-Id: I8046ae37cba87f0e5df550de831229345df1c6f8
2013-12-12winaccessibility: out-line those COM methodsMichael Stahl2-11/+15
Change-Id: I7e9a94898c6bc8142b46a05ffba56fc41eb125c2
2013-12-12winaccessibility: clear entires from XHWNDDocList tooMichael Stahl1-0/+4
... in DeleteAccObj(). Otherwise pointers to deleted documents will be used. Change-Id: Ia807dc3a2c782019cf7fc874d264058219956d74
2013-12-12winaccessibility: GetChildInterface may return 0Michael Stahl1-1/+3
Change-Id: I950072d22cd315d1898b76a2c345121d31d432c4
2013-12-12winaccessibility: do not access freed AccObjectMichael Stahl1-2/+3
The AccObject is stored by value in XIdAccList, so don't call GetResID() after it has been erased. Change-Id: I391aad1e3ab71d443cc6e6b92381f74918e0bcfb
2013-12-12winaccessibility: fix exception handling in AccEventListenerMichael Stahl1-6/+12
RemoveMeFromBroadcaster() may catch a DisposedException and then not call NotifyDestroy. Change-Id: I2b766541c3e6800c88a83aa482de0093714d39c2
2013-12-12winaccessibility: nobody calls get_XInterfaceMichael Stahl2-13/+0
Change-Id: I201fc14a02c47a6c735c65f649c6b9f068d92c71
2013-12-12winaccessibility: fix locking in UAccCOMMichael Stahl15-15/+310
The COM components will (usually? always?) be called on the main thread via COM, and may also be called on any thread from the UNO event listeners. Both ways may access the global AccWinObjectManager. So the easiest way to lock all that without introducing new deadlocks seems to be to just use the SolarMutex. The fact that the main thread is in a COM STA is rather irrelevant here since we don't currently do the required manual marshalling of the COM pointers so they can be accessed from UNO event listeners running in threads other than the main thread anyway. To get that to build: - use prewin.h and postwin.h around ATL headers - link UAccCOM against vcl - define both UNICODE and _UNICODE to not break on mis-matching TCHAR nonsense Change-Id: I1ccdf7a4a5c2b5f0b9c29ef39d126c4b8a16898a
2013-12-12winaccessibility: drop icu externals, probably some copypastaMichael Stahl1-2/+0
Change-Id: Ife0960b235e24f17640b197f952a9a094b7d654d
2013-12-12winaccessibility: remove CheckEnableAccessible.h and assorted noiseMichael Stahl14-328/+0
Change-Id: I45e1d72b1abf64a965397c50ac3b95b5bbee3206
2013-12-12winaccessibility: InlineIsEqualGUID is defined by guiddef.hMichael Stahl2-19/+10
Change-Id: Ia469076ec6f815133e77a14940e8afa05e177231
2013-12-12winaccessibility: use SAL_N_ELEMENTSMichael Stahl4-7/+4
Change-Id: I479117e0794375f1ec0c96b78db22b3569b456ec
2013-12-12winaccessibility: clean up the AGGMAP in CMAccessibleMichael Stahl3-84/+42
Replace it with a map for the new direct C++ instantiation and move this implementation detail to the cxx file. Change-Id: Ia961da03f8eb899481cf02f430c921aa8abd7c5c
2013-12-05Avoid multiple definitions of two lovingly copy-pasted functionsTor Lillqvist1-4/+4
Multple external definitions of a symbol causes problems when linking statically, as for Android. Just make the functions static for now, as they are only used locally in the files where defined anyway. Change-Id: I8ddbaf01497c171bed4e15f6183ba43461c672d1
2013-12-05fdo#39956 Delete JABDavid Ostrovsky1-2/+0
JAB has been discontinued in favor of the native IA2 bridge. Change-Id: I88461f73c620507d3e97b077ea2abdd2229322e1 Reviewed-on: https://gerrit.libreoffice.org/6819 Reviewed-by: David Ostrovsky <David.Ostrovsky@gmx.de> Tested-by: David Ostrovsky <David.Ostrovsky@gmx.de> Reviewed-by: Michael Meeks <michael.meeks@collabora.com> Reviewed-by: Michael Stahl <mstahl@redhat.com>
2013-12-03Use our header guard conventionTor Lillqvist30-89/+88
Using identifiers starting with underscores is questionable even if they don't happen to clash with anything used by the language implementation. Change-Id: I0af605d40d85ea7e47e1047572fbe180270e08ac
2013-12-03Bin pointless header inclusion guardTor Lillqvist1-2/+0
Change-Id: I8efa6fe219df952586aef84db406dd1190e451d5
2013-12-03No _SV_AccObjectWinManager_HXX anywhereTor Lillqvist1-2/+0
Change-Id: I0ab040ae4379995353009f3e852e6efc6760fb59
2013-12-02vcl: check if AT is running before loading the libraryMichael Stahl1-26/+0
... which should result in faster startup if it's disabled. Change-Id: I39774b0a56f186d08270c2f17b2b20a823f21dc2
2013-12-02winaccessibility: remove global g_acc_managerMichael Stahl8-75/+33
It is possible to retrieve it via the AccTopWindowListener. Change-Id: I6cc5ab25bc937d0d9f4de54a1bed09a76ce27491
2013-12-02Revert "winaccessibility: let CoCreateInstance calls find the components"Michael Stahl2-12/+0
This only works partially: the ClassObjects are only registered on the main thread; CoCreateInstance on other threads still fails. This reverts commit 29c6216af8c502f220bb84857d3dda901ddfd234.
2013-12-02winaccessibility: fix my stupid mistake in createAggInstanceMichael Stahl1-16/+17
Change-Id: I7701021befcf1dbad85557c2095fe4bf0b4e0ff1
2013-11-28winaccessibility: improve GenerateNewResId()Michael Stahl2-22/+10
Change-Id: I81f98ca83b97bc2e3e419c7a37ad2a011932553b
2013-11-28winaccessibility: remove GetXAccByAccObj()Michael Stahl4-24/+4
It is pointlessly slow and the AccObject has a method for that. Change-Id: I7ba1cc853255ac3b3b5008657d1cc79efc3a3f4b
2013-11-28winaccessibility: remove AccEventListener::m_isDisposedMichael Stahl2-7/+0
It's disposed iff m_xAccessible is 0. Change-Id: I3f8bc104784adf82be43bcaf43b7573a9897f82a
2013-11-28winaccessibility: use uno::Reference in AccEventListenerMichael Stahl14-183/+172
... and clear it in disposing(). Change-Id: I69cfe3cdcf6549a0471453960d1f935d9c3b7a0d
2013-11-28winaccessibility: use rtl::Reference for listener lifecycleMichael Stahl4-50/+41
The manual acquire() call was apparently not coupled with a release()? Change-Id: I069c969619e9afce2a4b836642cc1675025b11d0
2013-11-28winaccessibility: actually the member is unused, remove itMichael Stahl4-8/+0
Change-Id: I68e5c1785b73520cb59ca54a602ea176f8146f6f
2013-11-28winaccessibility: don't store XAccessible* in AccDescendant...ListenerMichael Stahl4-6/+8
Seems safer to store a Reference Change-Id: I86ef9d18c03b2a58058d38e2ae43553ecd2c7be6
2013-11-28winaccessibility: why delayload the dlls?Michael Stahl1-3/+0
Perhaps delayloading the URE dlls makes it easier to register the UAccCOM.dll during installation or something? Well we don't do that any more. Change-Id: Ic7c356f5954f869c8752aab2563f059a27ef731f
2013-11-28winaccessibility: README already outdatedMichael Stahl1-7/+2
Change-Id: Id0defc7e4fbe5b700362548559e08163a327399b
2013-11-28winaccessibility: remove all Registry content/registration codeMichael Stahl34-553/+13
There is no need to register UAccCOM. Change-Id: I37f5c4030abefbd18b6686652a348bc20a05a9db
2013-11-28winaccessibility: remove obsolete act.hxxMichael Stahl6-76/+0
... obsoleted by 732ec36edfd09d2091d70c4d71b5f182fe279c45 Change-Id: I7f7a9becac2430a7ed4d096be741b610462a8a00
2013-11-26Replace deprecated OUString::valueOf -> OUString::numberStephan Bergmann1-3/+3
Change-Id: Ia9c5d9ce424f810b31ccc8ec939e1ced301329f7
2013-11-25winaccessibility: replace CoCreateInstance with direct instantiationMichael Stahl11-51/+114
This is an alternative (to 732ec36edfd09d2091d70c4d71b5f182fe279c45) solution to the "CoCreateInstance does not work" problem: replace all CoCreateInstance calls with equivalent calls to create the components directly. Since the only reason why this COM stuff needs to be registered at all is that AccObject uses CoCreateInstance() to create its COM objects, another possible solution appears to be to simply link the libraries and instantiate the COM objects directly, without COM. The only difference appears to be that CoCreateInstance would automatically add proxy objects in case the COM objects reside in a single-threaded appartment; not sure if that is relevant here. Change-Id: I8ffb8af501f6084f3145fa4d4f53366a070e1691 Reviewed-on: https://gerrit.libreoffice.org/6792 Reviewed-by: Michael Meeks <michael.meeks@collabora.com> Tested-by: Michael Meeks <michael.meeks@collabora.com>
2013-11-24cppcheck: consecutive breakJulien Nabet1-1/+0
Change-Id: I7e53fa77aada1433f3b311f51e82342bac127b3c
2013-11-24cppcheck: Prefer prefix ++/-- operators for non-primitive typesJulien Nabet1-3/+3
Change-Id: I53a7773ed76d5a38301b4f9378c56698e4df7e8b
2013-11-24winaccessibility: let CoCreateInstance calls find the componentsMichael Stahl2-0/+12
The COM services are not found because they are not registered in the registry via regsvr32 (doing that is unnecessary since the components are only instantiated by winaccessibility code and undesirable since that would likely register the IAccessible2 types too, breaking A11y tools) and the special manifest resource #97 that ActivateActContext() tries to load does not exist in UAccCOM.dll; this would need to be a XML manifest, the *.rgs and *.tlb that are already included as individual resources won't work. After reading ATL headers for hours it is immediately obvious that the COM components can simply be registered by a call to CComModule::RegisterClassObjects() from DllMain; this just requires actually loading the UAccCOM library from somewhere so the DllMain runs. Change-Id: Id58b754835cd2f1bcada37e5639a6b6042a42fd5
2013-11-24winaccessibility: fix some error handling in CAccTableMichael Stahl1-16/+18
Change-Id: I3c8bc6a476a6254a4ddc3a7cb0585544f3f78431