[Libreoffice-commits] core.git: 2 commits - toolkit/source unotools/source

2023-11-19 Thread Julien Nabet (via logerrit)
 toolkit/source/awt/vclxtabpagecontainer.cxx |2 +-
 unotools/source/config/configmgr.cxx|2 +-
 unotools/source/misc/desktopterminationobserver.cxx |2 +-
 3 files changed, 3 insertions(+), 3 deletions(-)

New commits:
commit 2ea548e394a504a2277a17f333f862540d48b817
Author: Julien Nabet 
AuthorDate: Sun Nov 19 21:33:18 2023 +0100
Commit: Julien Nabet 
CommitDate: Mon Nov 20 07:40:29 2023 +0100

c++20: use std::erase(_if) instead of std::remove(_if)+erase (unotools)

Change-Id: Iebc949486322b55f60e83b27739acc1c16d2a25e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159707
Tested-by: Jenkins
Reviewed-by: Julien Nabet 

diff --git a/unotools/source/config/configmgr.cxx 
b/unotools/source/config/configmgr.cxx
index f3aef792e856..e19c7c694a6a 100644
--- a/unotools/source/config/configmgr.cxx
+++ b/unotools/source/config/configmgr.cxx
@@ -157,7 +157,7 @@ utl::ConfigManager::addConfigItem(utl::ConfigItem & item) {
 }
 
 void utl::ConfigManager::removeConfigItem(utl::ConfigItem & item) {
-items_.erase(std::remove(items_.begin(), items_.end(), ), 
items_.end());
+std::erase(items_, );
 }
 
 void utl::ConfigManager::registerConfigItem(utl::ConfigItem * item) {
diff --git a/unotools/source/misc/desktopterminationobserver.cxx 
b/unotools/source/misc/desktopterminationobserver.cxx
index 138125a4fc10..2eeb44a92dda 100644
--- a/unotools/source/misc/desktopterminationobserver.cxx
+++ b/unotools/source/misc/desktopterminationobserver.cxx
@@ -180,7 +180,7 @@ namespace utl
 {
 ::osl::MutexGuard aGuard( ::osl::Mutex::getGlobalMutex() );
 Listeners& rListeners = getListenerAdminData().aListeners;
-rListeners.erase(std::remove(rListeners.begin(), rListeners.end(), 
_pListener), rListeners.end());
+std::erase(rListeners, _pListener);
 }
 
 } // namespace utl
commit 042fb18fbcb98ee7e9b3982d987421e43b99cbff
Author: Julien Nabet 
AuthorDate: Sun Nov 19 21:30:40 2023 +0100
Commit: Julien Nabet 
CommitDate: Mon Nov 20 07:40:15 2023 +0100

c++20: use std::erase(_if) instead of std::remove(_if)+erase (toolkit)

Change-Id: Ied5fc25f959e938fdd80532375486c167c370e35
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159705
Tested-by: Jenkins
Reviewed-by: Julien Nabet 

diff --git a/toolkit/source/awt/vclxtabpagecontainer.cxx 
b/toolkit/source/awt/vclxtabpagecontainer.cxx
index 55a27ba2af27..afd3d843b7ef 100644
--- a/toolkit/source/awt/vclxtabpagecontainer.cxx
+++ b/toolkit/source/awt/vclxtabpagecontainer.cxx
@@ -199,7 +199,7 @@ void SAL_CALL VCLXTabPageContainer::elementRemoved( const 
css::container::Contai
 Reference< awt::XControl > xControl(xTabPage,UNO_QUERY );
 Reference< awt::tab::XTabPageModel > xP( xControl->getModel(), 
UNO_QUERY );
 pTabCtrl->RemovePage(xP->getTabPageID());
-
m_aTabPages.erase(::std::remove(m_aTabPages.begin(),m_aTabPages.end(),xTabPage));
+std::erase(m_aTabPages,xTabPage);
 }
 }
 void SAL_CALL VCLXTabPageContainer::elementReplaced( const 
css::container::ContainerEvent& /*Event*/ )


[Libreoffice-commits] core.git: 2 commits - toolkit/source winaccessibility/source

2023-08-22 Thread Michael Weghorn (via logerrit)
 toolkit/source/controls/table/tablecontrol_impl.cxx |9 ++---
 toolkit/source/controls/table/tablecontrol_impl.hxx |3 +++
 winaccessibility/source/UAccCOM/AccActionBase.cxx   |8 
 winaccessibility/source/UAccCOM/AccActionBase.h |3 ---
 4 files changed, 13 insertions(+), 10 deletions(-)

New commits:
commit 18d45783a6c9f0d13fa0fae7b623be0805d8d825
Author: Michael Weghorn 
AuthorDate: Tue Aug 22 16:01:49 2023 +0100
Commit: Michael Weghorn 
CommitDate: Tue Aug 22 22:27:22 2023 +0200

wina11y: Drop CAccActionBase::GetXInterface

Just use the `pRXAct` member directly.
In particular the fact that all of the `CAccActionBase`
methods mixed both ways of accessing the member (first checking
`pRXAct` directly, but then retrieving it via
`CAccActionBase::GetXInterface` to call a method
on it) didn't really increase readability of the code.

Change-Id: Ic6f5ce9a9b229b949ac656668e3bbf01cb65af2e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155956
Tested-by: Jenkins
Reviewed-by: Michael Weghorn 

diff --git a/winaccessibility/source/UAccCOM/AccActionBase.cxx 
b/winaccessibility/source/UAccCOM/AccActionBase.cxx
index 70940aa31b1e..0fb2d7bbcee6 100644
--- a/winaccessibility/source/UAccCOM/AccActionBase.cxx
+++ b/winaccessibility/source/UAccCOM/AccActionBase.cxx
@@ -62,7 +62,7 @@ COM_DECLSPEC_NOTHROW STDMETHODIMP 
CAccActionBase::nActions(/*[out,retval]*/long*
 
 if( pRXAct.is() && nActions != nullptr )
 {
-*nActions = GetXInterface()->getAccessibleActionCount();
+*nActions = pRXAct->getAccessibleActionCount();
 return S_OK;
 }
 *nActions = 0;
@@ -85,7 +85,7 @@ COM_DECLSPEC_NOTHROW STDMETHODIMP CAccActionBase::doAction(/* 
[in] */ long actio
 
 if( pRXAct.is() )
 {
-return GetXInterface()->doAccessibleAction( actionIndex )?S_OK:E_FAIL;
+return pRXAct->doAccessibleAction(actionIndex) ? S_OK : E_FAIL;
 }
 return E_FAIL;
 
@@ -110,7 +110,7 @@ COM_DECLSPEC_NOTHROW STDMETHODIMP 
CAccActionBase::get_description(long actionInd
 if(!pRXAct.is())
 return E_FAIL;
 
-OUString ouStr = 
GetXInterface()->getAccessibleActionDescription(actionIndex);
+OUString ouStr = pRXAct->getAccessibleActionDescription(actionIndex);
 
 SysFreeString(*description);
 *description = SysAllocString(o3tl::toW(ouStr.getStr()));
@@ -156,7 +156,7 @@ COM_DECLSPEC_NOTHROW STDMETHODIMP 
CAccActionBase::get_keyBinding(
 if( !pRXAct.is() )
 return E_FAIL;
 
-Reference< XAccessibleKeyBinding > binding = 
GetXInterface()->getAccessibleActionKeyBinding(actionIndex);
+Reference< XAccessibleKeyBinding > binding = 
pRXAct->getAccessibleActionKeyBinding(actionIndex);
 if( !binding.is() )
 return E_FAIL;
 
diff --git a/winaccessibility/source/UAccCOM/AccActionBase.h 
b/winaccessibility/source/UAccCOM/AccActionBase.h
index 26d3e7d054aa..9bf2c70b4bb2 100644
--- a/winaccessibility/source/UAccCOM/AccActionBase.h
+++ b/winaccessibility/source/UAccCOM/AccActionBase.h
@@ -66,9 +66,6 @@ public:
 
 protected:
 css::uno::Reference pRXAct;
-
-private:
-css::accessibility::XAccessibleAction* GetXInterface() { return 
pRXAct.get(); }
 };
 
 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
commit cd00bc50a7425e2f58d54de80b714cb6b0362dce
Author: Michael Weghorn 
AuthorDate: Tue Aug 22 14:57:04 2023 +0200
Commit: Michael Weghorn 
CommitDate: Tue Aug 22 22:27:11 2023 +0200

tdf#156473 a11y: Keep a reference to table's a11y object

Keep a Reference to the a11y object in `TableControl_Impl`,
to prevent the object from getting deleted while it's still
needed.

Fixes a crash with this backtrace on Windows when closing
the macro dialog from tdf#156473 with the NVDA screen reader
active:

1 cppu::WeakComponentImplHelperBase::release implbase.cxx 70 
0x7ff97c1f0f72
2 
cppu::PartialWeakComponentImplHelper::release
 compbase.hxx 86 0x7ff9200cc5a4
3 rtl::Reference::clear ref.hxx 
198 0x7ff9200cc25b
4 accessibility::AccessibleGridControlAccess::DisposeAccessImpl 
AccessibleGridControl.cxx 335 0x7ff9200cc17a
5 svt::table::TableControl_Impl::disposeAccessible 
tablecontrol_impl.cxx 2397 0x7ff955829173
6 svt::table::TableControl::dispose tablecontrol.cxx 74 0x7ff9558190e4
7 VclReferenceBase::disposeOnce vclreferencebase.cxx 39 0x7ff9494f4fda
8 VclPtr::disposeAndClear vclptr.hxx 207 0x7ff9556b0fbe
9 VCLXWindow::dispose vclxwindow.cxx 927 0x7ff9556b0c9c
10 SVTXGridControl::dispose svtxgridcontrol.cxx 766 0x7ff9557e2577
11 UnoControl::dispose unocontrol.cxx 362 0x7ff95585bc3c
12 toolkit::UnoGridControl::dispose gridcontrol.cxx 292 0x7ff9557c9667
13 UnoControlContainer::dispose unocontrolcontainer.cxx 413 
0x7ff955874606
14 ControlContainerBase::dispose controlmodelcontainerbase.cxx 1387 
0x7ff95573f480

[Libreoffice-commits] core.git: 2 commits - toolkit/source

2023-08-17 Thread Michael Weghorn (via logerrit)
 toolkit/source/awt/vclxaccessiblecomponent.cxx |8 +++-
 toolkit/source/helper/unowrapper.cxx   |7 +++
 2 files changed, 14 insertions(+), 1 deletion(-)

New commits:
commit 2cd1408dd7d6688357257f4a58a8b467628b1884
Author: Michael Weghorn 
AuthorDate: Thu Aug 17 13:15:46 2023 +0100
Commit: Michael Weghorn 
CommitDate: Fri Aug 18 06:05:23 2023 +0200

tdf#156561 a11y: Create VCLXTopWindow peer for border win frame

If a border window is a "native frame", i.e. a top level
window, then also create a `VCLXTopWindow` for it instead
of just a simple `VCLXWindow`.

This also addresses another cause why the Calc autofilter
popup would not be announced by the NVDA screen reader
before

commit dc0706cabfe39ddb6ea23d60ccfb756f2b9e6efb
Author: Michael Weghorn 
Date:   Wed Mar 15 17:00:27 2023 +0100

tdf#140762 tdf#152671 Make dock win visible before showing popup

For winaccessibility, an accessible event listener
is registered for an object when either
`AccTopWindowListener::windowOpened` gets an event
with the top level window set or the parent of
the window sends an `AccessibleEventId::CHILD` event
for the child object.

In case of the autofilter popup in Calc, the top-level
border window of the work window (created and set in
`WorkWindow::ImplInit` and retrieved via `Window::GetFrameWeld`
in `ScGridWindow::LaunchAutoFilterMenu`) is set as the
parent window of the popup, but since it is a top-level
window and was so far not considered as such due to its
peer/component interface not implementing `XTopWindow`
(s. `Window::IsTopWindow` and the corresponding check
in `VCLXToolkit::callTopWindowListeners`), it would
not have any accessible listener set, and thus no
child event for its new popup child would be sent
to the winaccessibility layer. Therefore, no
accessible events would be sent for the popup
and it's children either, resulting in NVDA not
announcing any focus changes, etc.

With this change in place, NVDA announces focused
items in the auto filter popup even with a revert
of the above-mentioned commit (and follow-up commits),
except for submenu entries (which still suffer from
another problem that will be addressed separately).

Change-Id: I69c6066127c8b853a27cc1f692f139572541f8eb
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155800
Tested-by: Jenkins
Reviewed-by: Michael Weghorn 

diff --git a/toolkit/source/helper/unowrapper.cxx 
b/toolkit/source/helper/unowrapper.cxx
index e2aaa55dbe63..82b4dd17338a 100644
--- a/toolkit/source/helper/unowrapper.cxx
+++ b/toolkit/source/helper/unowrapper.cxx
@@ -91,6 +91,13 @@ static rtl::Reference CreateXWindow( vcl::Window 
const * pWindow )
 
 case WindowType::HEADERBAR: return new VCLXHeaderBar;
 
+case WindowType::BORDERWINDOW:
+{
+if (pWindow->IsNativeFrame())
+return new VCLXTopWindow;
+return new VCLXWindow(true);
+}
+
 // case WindowType::FIXEDLINE:
 // case WindowType::FIXEDBITMAP:
 // case WindowType::DATEBOX:
commit 4d27d2c5f9d83112b6db9b6234e2ae617ffced22
Author: Michael Weghorn 
AuthorDate: Thu Aug 17 11:51:11 2023 +0100
Commit: Michael Weghorn 
CommitDate: Fri Aug 18 06:05:14 2023 +0200

tdf#141101 tdf#156561 a11y: Handle a11y child events in win parent

`VCLXAccessibleComponent::ProcessWindowChildEvent` was only
processing `WindowShow` and `WindowHide` events when the
`vcl::Window::GetAccessibleParent()` for the window sent in
the event would return the window that the `VCLXAccessibleComponent`
refers to.

This generally seems reasonable, but when the child events
are sent for the corresponding window, the window's hierarchy
is iterated over using `vcl::Window::GetParent()`, so if the
accessible window is not in that hierarchy, no window would
take care of the child events.
(Note e.g. how `Window::GetParent` uses `mpWindowImpl->mpRealParent`
while `Window::getAccessibleParentWindow` uses `mpWindowImpl->mpParent`
and has some special handling.)

Due to the way that `ImplDockingWindowWrapper::ImplPreparePopupMode`
reparents the windows, this is at least the case for the auto
filter popup in Calc and the font color popup in Writer's "Character"
dialog, so the `VclEventId::WindowShow` event would not be forwarded
to the a11y layer as an `AccessibleEventId::CHILD` event, and thus no
listener would be registered for the children. As a result, the NVDA
screen reader would not announce these objects when they receive
focus.

Make sure that the child event gets handled by making
`VCLXAccessibleComponent::GetChildAccessible` also take
into account the `vcl::Window::GetParent()`.

This 

[Libreoffice-commits] core.git: 2 commits - toolkit/source ucb/source

2022-12-19 Thread Noel Grandin (via logerrit)
 toolkit/source/hatchwindow/hatchwindow.cxx |   41 -
 toolkit/source/hatchwindow/hatchwindow.hxx |   13 +--
 ucb/source/ucp/hierarchy/hierarchyprovider.cxx |   38 ---
 ucb/source/ucp/hierarchy/hierarchyprovider.hxx |   15 +
 ucb/source/ucp/tdoc/tdoc_provider.cxx  |   38 ---
 ucb/source/ucp/tdoc/tdoc_provider.hxx  |   20 +++-
 6 files changed, 11 insertions(+), 154 deletions(-)

New commits:
commit b7a0900a265ae0d21ad04b03f26ea34c725ba152
Author: Noel Grandin 
AuthorDate: Mon Dec 19 08:45:44 2022 +0200
Commit: Noel Grandin 
CommitDate: Mon Dec 19 16:49:23 2022 +

loplugin:implinheritancehelper in ucb

use more ImplInheritanceHelper to reduce boilerplate

Change-Id: I3ecc79ac5a1ae7a005845a7f1460e3b5037e6d53
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/12
Tested-by: Jenkins
Reviewed-by: Noel Grandin 

diff --git a/ucb/source/ucp/hierarchy/hierarchyprovider.cxx 
b/ucb/source/ucp/hierarchy/hierarchyprovider.cxx
index 09ac0a2e7245..ad019732a86a 100644
--- a/ucb/source/ucp/hierarchy/hierarchyprovider.cxx
+++ b/ucb/source/ucp/hierarchy/hierarchyprovider.cxx
@@ -49,7 +49,7 @@ using namespace hierarchy_ucp;
 
 HierarchyContentProvider::HierarchyContentProvider(
 const uno::Reference< uno::XComponentContext >& rxContext )
-: ::ucbhelper::ContentProviderImplHelper( rxContext )
+: HierarchyContentProvider_Base( rxContext )
 {
 }
 
@@ -59,42 +59,6 @@ HierarchyContentProvider::~HierarchyContentProvider()
 {
 }
 
-
-// XInterface methods.
-
-void SAL_CALL HierarchyContentProvider::acquire()
-noexcept
-{
-OWeakObject::acquire();
-}
-
-void SAL_CALL HierarchyContentProvider::release()
-noexcept
-{
-OWeakObject::release();
-}
-
-css::uno::Any SAL_CALL HierarchyContentProvider::queryInterface( const 
css::uno::Type & rType )
-{
-css::uno::Any aRet = cppu::queryInterface( rType,
-   static_cast< 
lang::XTypeProvider* >(this),
-   static_cast< 
lang::XServiceInfo* >(this),
-   static_cast< 
ucb::XContentProvider* >(this),
-   static_cast< 
lang::XInitialization* >(this)
-   );
-return aRet.hasValue() ? aRet : OWeakObject::queryInterface( rType );
-}
-
-// XTypeProvider methods.
-
-
-XTYPEPROVIDER_IMPL_4( HierarchyContentProvider,
-  lang::XTypeProvider,
-  lang::XServiceInfo,
-  ucb::XContentProvider,
-  lang::XInitialization );
-
-
 // XServiceInfo methods.
 
 OUString SAL_CALL HierarchyContentProvider::getImplementationName()
   \
diff --git a/ucb/source/ucp/hierarchy/hierarchyprovider.hxx 
b/ucb/source/ucp/hierarchy/hierarchyprovider.hxx
index cbd2911d4ad0..27367e32f335 100644
--- a/ucb/source/ucp/hierarchy/hierarchyprovider.hxx
+++ b/ucb/source/ucp/hierarchy/hierarchyprovider.hxx
@@ -61,8 +61,8 @@ typedef std::unordered_map
 >
 ConfigProviderMap;
 
-class HierarchyContentProvider : public ::ucbhelper::ContentProviderImplHelper,
- public css::lang::XInitialization
+typedef cppu::ImplInheritanceHelper< ::ucbhelper::ContentProviderImplHelper, 
css::lang::XInitialization> HierarchyContentProvider_Base;
+class HierarchyContentProvider : public HierarchyContentProvider_Base
 {
 ConfigProviderMap   m_aConfigProviderMap;
 css::uno::Reference< css::util::XOfficeInstallationDirectories > 
m_xOfficeInstDirs;
@@ -72,17 +72,6 @@ public:
 const css::uno::Reference< css::uno::XComponentContext >& 
rxContext );
 virtual ~HierarchyContentProvider() override;
 
-// XInterface
-virtual css::uno::Any SAL_CALL queryInterface( const css::uno::Type & 
rType ) override;
-virtual void SAL_CALL acquire()
-noexcept override;
-virtual void SAL_CALL release()
-noexcept override;
-
-// XTypeProvider
-virtual css::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() 
override;
-virtual css::uno::Sequence< css::uno::Type > SAL_CALL getTypes() override;
-
 // XServiceInfo
 virtual OUString SAL_CALL getImplementationName() override;
 virtual sal_Bool SAL_CALL supportsService( const OUString& ServiceName ) 
override;
diff --git a/ucb/source/ucp/tdoc/tdoc_provider.cxx 
b/ucb/source/ucp/tdoc/tdoc_provider.cxx
index c5d120be076f..5e036e0d76c4 100644
--- a/ucb/source/ucp/tdoc/tdoc_provider.cxx
+++ b/ucb/source/ucp/tdoc/tdoc_provider.cxx
@@ -49,7 +49,7 @@ using namespace tdoc_ucp;
 
 ContentProvider::ContentProvider(
 const uno::Reference< uno::XComponentContext >& rxContext )
-: ::ucbhelper::ContentProviderImplHelper( rxContext ),
+: ContentProvider_Base( rxContext ),
   m_xDocsMgr( new OfficeDocumentsManager( rxContext, 

[Libreoffice-commits] core.git: 2 commits - toolkit/source winaccessibility/source

2022-09-26 Thread Michael Weghorn (via logerrit)
 toolkit/source/awt/vclxaccessiblecomponent.cxx|   32 ++
 winaccessibility/source/service/AccComponentEventListener.cxx |1 
 winaccessibility/source/service/AccObjectWinManager.cxx   |5 +
 3 files changed, 38 insertions(+)

New commits:
commit 995d17697d1e46f66df67ca3132369d76caea29e
Author: Michael Weghorn 
AuthorDate: Mon Sep 19 14:45:05 2022 +0200
Commit: Michael Weghorn 
CommitDate: Mon Sep 26 16:15:06 2022 +0200

tdf#117173 wina11y: Send EVENT_SYSTEM_ALERT when notification shows

Together with
Change-Id Ifcf9304883e2e824ea1b7998d7767e474b87c8b6
("tdf#119788 tdf#117173 add accessibility NOTIFICATION role")
and Change-Id Id62b3942dc17c3a1ed6a08d23438406e5a19c39d
("tdf#117173 a11y: Send SHOWING state change event on
 Window{Show,Hide}"), this makes NVDA announce the notification
in the Search and Replace dialog as an alert, similar
to what browsers do e.g. in the alert on empty input
for the input validation example at
https://www.w3.org/WAI/tutorials/forms/validation/ .

Change-Id: I3263df4711f84a6dd9e178ad340b128aa074
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/140091
Tested-by: Jenkins
Reviewed-by: Michael Weghorn 

diff --git a/winaccessibility/source/service/AccComponentEventListener.cxx 
b/winaccessibility/source/service/AccComponentEventListener.cxx
index ca0dec0fa311..060fb201136c 100644
--- a/winaccessibility/source/service/AccComponentEventListener.cxx
+++ b/winaccessibility/source/service/AccComponentEventListener.cxx
@@ -237,6 +237,7 @@ void 
AccComponentEventListener::FireStatePropertyChange(sal_Int64 state, bool se
 pAgent->DecreaseState(m_xAccessible.get(), 
AccessibleStateType::DEFUNC);
 // UNO !SHOWING == MSAA OFFSCREEN
 pAgent->IncreaseState(m_xAccessible.get(), 
AccessibleStateType::SHOWING );
+pAgent->NotifyAccEvent(UnoMSAAEvent::STATE_SHOWING, 
m_xAccessible.get());
 break;
 case AccessibleStateType::VISIBLE:
 // UNO !VISIBLE == MSAA INVISIBLE
diff --git a/winaccessibility/source/service/AccObjectWinManager.cxx 
b/winaccessibility/source/service/AccObjectWinManager.cxx
index 44dbcb98ac3a..de527270a8e0 100644
--- a/winaccessibility/source/service/AccObjectWinManager.cxx
+++ b/winaccessibility/source/service/AccObjectWinManager.cxx
@@ -198,6 +198,11 @@ bool AccObjectWinManager::NotifyAccEvent(XAccessible* 
pXAcc, UnoMSAAEvent eEvent
 UpdateAccFocus(pXAcc);
 NotifyWinEvent( EVENT_OBJECT_FOCUS,hAcc, OBJID_CLIENT,dChildID  );
 break;
+case UnoMSAAEvent::STATE_SHOWING:
+// send EVENT_SYSTEM_ALERT when notification gets shown
+if (pRContext->getAccessibleRole() == AccessibleRole::NOTIFICATION)
+NotifyWinEvent(EVENT_SYSTEM_ALERT, hAcc, OBJID_CLIENT, dChildID);
+break;
 case UnoMSAAEvent::MENU_START:
 NotifyWinEvent( EVENT_SYSTEM_MENUSTART,hAcc, OBJID_CLIENT,dChildID  );
 break;
commit c26d6cc3c4878d356328a538b5bf11e4e6a0e7dc
Author: Michael Weghorn 
AuthorDate: Mon Sep 19 14:44:46 2022 +0200
Commit: Michael Weghorn 
CommitDate: Mon Sep 26 16:14:51 2022 +0200

tdf#117173 a11y: Send SHOWING state change event on Window{Show,Hide}

When a `vcl::Window` becomes visible, `Window::ImplSetReallyVisible`
calls the registered event listeners with a
`VclEventId::WindowShow` event. Likewise, a
`VclEventId::WindowHide` events is sent in
`Window::ImplResetReallyVisible` when the window
is no longer visible.

Handle that event in `VCLXAccessibleComponent` by
sending a state change event for the SHOWING state,
so assistive technology gets notified about this.
(Similar handling can already be found e.g. in
`AccessibleTabBar::ProcessWindowEvent` or
`AccessibleTabBarPageList::ProcessWindowEvent`.)

While doing so in `VCLXAccessibleComponent::ProcessWindowEvent`
for the object itself would generally seem like a more straightforward
and conceptually nicer approach, this would have the problem
that the event wouldn't get propagated to the platform-specific
a11y integration layer (like winaccessibility) for the
`VclEventId::WindowShow` case, since the a11y event
listeners are registered and unregistered as a response to the CHILD
event (at least for winaccessibility and gtk3, qt6 doesn't do that
(yet?)), and if the accessible event listener is not (yet) registered,
the event is simply ignored.
Since the CHILD event is sent in
`VCLXAccessibleComponent::ProcessChildWindowEvent` and that gets
called on the parent *after* `VCLXAccessibleComponent::ProcessWindowEvent`
gets called for the object that became shown/hidden
(s. `Window::CallEventListeners`), also send the state change
event for the SHOWING state of the child from there, so the
proper order can be made sure.

The reverse order 

[Libreoffice-commits] core.git: 2 commits - toolkit/source uui/source

2017-02-15 Thread Stephan Bergmann
 toolkit/source/awt/vclxtoolkit.cxx|   25 +
 toolkit/source/controls/dialogcontrol.cxx |   24 ++--
 uui/source/iahndl.cxx |   12 ++--
 3 files changed, 13 insertions(+), 48 deletions(-)

New commits:
commit 223bb798f6f1917b926aa2fb293709ef63725a64
Author: Stephan Bergmann 
Date:   Tue Feb 14 16:09:42 2017 +0100

Some simplifications, using UNO_QUERY_THROW

Change-Id: I1db6d47af232f35a8d8596a7a18c3c3e7a272f4b
Reviewed-on: https://gerrit.libreoffice.org/34253
Tested-by: Stephan Bergmann 
Reviewed-by: Stephan Bergmann 

diff --git a/toolkit/source/awt/vclxtoolkit.cxx 
b/toolkit/source/awt/vclxtoolkit.cxx
index 5feba060..2b4f3f8 100644
--- a/toolkit/source/awt/vclxtoolkit.cxx
+++ b/toolkit/source/awt/vclxtoolkit.cxx
@@ -1921,10 +1921,7 @@ void SAL_CALL VCLXToolkit::pause(sal_Int32 nMilliseconds)
 
 void SAL_CALL VCLXToolkit::keyPress( const css::awt::KeyEvent & aKeyEvent )
 {
-css::uno::Reference xWindow ( aKeyEvent.Source, 
css::uno::UNO_QUERY );
-if( !xWindow.is() )
-throw css::uno::RuntimeException( "invalid event source" );
-
+css::uno::Reference xWindow ( aKeyEvent.Source, 
css::uno::UNO_QUERY_THROW );
 VclPtr pWindow = VCLUnoHelper::GetWindow( xWindow );
 if( !pWindow )
 throw css::uno::RuntimeException( "invalid event source" );
@@ -1935,10 +1932,7 @@ void SAL_CALL VCLXToolkit::keyPress( const 
css::awt::KeyEvent & aKeyEvent )
 
 void SAL_CALL VCLXToolkit::keyRelease( const css::awt::KeyEvent & aKeyEvent )
 {
-css::uno::Reference xWindow ( aKeyEvent.Source, 
css::uno::UNO_QUERY );
-if( !xWindow.is() )
-throw css::uno::RuntimeException( "invalid event source" );
-
+css::uno::Reference xWindow ( aKeyEvent.Source, 
css::uno::UNO_QUERY_THROW );
 VclPtr pWindow = VCLUnoHelper::GetWindow( xWindow );
 if( !pWindow )
 throw css::uno::RuntimeException( "invalid event source" );
@@ -1950,10 +1944,7 @@ void SAL_CALL VCLXToolkit::keyRelease( const 
css::awt::KeyEvent & aKeyEvent )
 
 void SAL_CALL VCLXToolkit::mousePress( const css::awt::MouseEvent & 
aMouseEvent )
 {
-css::uno::Reference xWindow ( aMouseEvent.Source, 
css::uno::UNO_QUERY );
-if( !xWindow.is() )
-throw css::uno::RuntimeException( "invalid event source" );
-
+css::uno::Reference xWindow ( aMouseEvent.Source, 
css::uno::UNO_QUERY_THROW );
 VclPtr pWindow = VCLUnoHelper::GetWindow( xWindow );
 if( !pWindow )
 throw css::uno::RuntimeException( "invalid event source" );
@@ -1964,10 +1955,7 @@ void SAL_CALL VCLXToolkit::mousePress( const 
css::awt::MouseEvent & aMouseEvent
 
 void SAL_CALL VCLXToolkit::mouseRelease( const css::awt::MouseEvent & 
aMouseEvent )
 {
-css::uno::Reference xWindow ( aMouseEvent.Source, 
css::uno::UNO_QUERY );
-if( !xWindow.is() )
-throw css::uno::RuntimeException( "invalid event source" );
-
+css::uno::Reference xWindow ( aMouseEvent.Source, 
css::uno::UNO_QUERY_THROW );
 VclPtr pWindow = VCLUnoHelper::GetWindow( xWindow );
 if( !pWindow )
 throw css::uno::RuntimeException( "invalid event source" );
@@ -1978,10 +1966,7 @@ void SAL_CALL VCLXToolkit::mouseRelease( const 
css::awt::MouseEvent & aMouseEven
 
 void SAL_CALL VCLXToolkit::mouseMove( const css::awt::MouseEvent & aMouseEvent 
)
 {
-css::uno::Reference xWindow ( aMouseEvent.Source, 
css::uno::UNO_QUERY );
-if( !xWindow.is() )
-throw css::uno::RuntimeException( "invalid event source" );
-
+css::uno::Reference xWindow ( aMouseEvent.Source, 
css::uno::UNO_QUERY_THROW );
 VclPtr pWindow = VCLUnoHelper::GetWindow( xWindow );
 if( !pWindow )
 throw css::uno::RuntimeException( "invalid event source" );
diff --git a/toolkit/source/controls/dialogcontrol.cxx 
b/toolkit/source/controls/dialogcontrol.cxx
index ba0d503..b7f7193 100644
--- a/toolkit/source/controls/dialogcontrol.cxx
+++ b/toolkit/source/controls/dialogcontrol.cxx
@@ -704,41 +704,31 @@ void SAL_CALL UnoMultiPageControl::dispose()
 // css::awt::XSimpleTabController
 ::sal_Int32 SAL_CALL UnoMultiPageControl::insertTab()
 {
-Reference< XSimpleTabController > xMultiPage( getPeer(), UNO_QUERY );
-if ( !xMultiPage.is() )
-throw RuntimeException();
+Reference< XSimpleTabController > xMultiPage( getPeer(), UNO_QUERY_THROW );
 return xMultiPage->insertTab();
 }
 
 void SAL_CALL UnoMultiPageControl::removeTab( ::sal_Int32 ID )
 {
-Reference< XSimpleTabController > xMultiPage( getPeer(), UNO_QUERY );
-if ( !xMultiPage.is() )
-throw RuntimeException();
+Reference< XSimpleTabController > xMultiPage( getPeer(), UNO_QUERY_THROW );
 xMultiPage->removeTab( ID );
 }
 
 void SAL_CALL UnoMultiPageControl::setTabProps( ::sal_Int32 ID, const 
Sequence< NamedValue >& Properties )
 {
-Reference< XSimpleTabController > xMultiPage( getPeer(), 

[Libreoffice-commits] core.git: 2 commits - toolkit/source

2016-02-02 Thread Chris Sherlock
 toolkit/source/helper/vclunohelper.cxx |9 ++---
 1 file changed, 2 insertions(+), 7 deletions(-)

New commits:
commit 32096592fcf067d50e22090135b542325f5e3e62
Author: Chris Sherlock 
Date:   Wed Feb 3 10:57:51 2016 +1100

toolkit: remove some comment cruft from vclunohelper.cxx

Change-Id: I1670e8d1adccd2123d41e51b7d7ee5228c555280

diff --git a/toolkit/source/helper/vclunohelper.cxx 
b/toolkit/source/helper/vclunohelper.cxx
index 20bcae5..9c0f76f 100644
--- a/toolkit/source/helper/vclunohelper.cxx
+++ b/toolkit/source/helper/vclunohelper.cxx
@@ -57,9 +57,6 @@
 using namespace ::com::sun::star;
 
 
-//  class VCLUnoHelper
-
-
 uno::Reference< css::awt::XToolkit> VCLUnoHelper::CreateToolkit()
 {
 uno::Reference< uno::XComponentContext > xContext = 
::comphelper::getProcessComponentContext();
@@ -514,8 +511,6 @@ sal_Int32 VCLUnoHelper::VCL2UnoEmbedMapUnit( MapUnit 
nVCLMapUnit )
 using namespace ::com::sun::star::util;
 
 
-//= file-local helpers
-
 namespace
 {
 enum UnitConversionDirection
commit 9c77bb8fde80d7f35676cb1e41e5b122ac96b6a4
Author: Chris Sherlock 
Date:   Wed Feb 3 10:56:40 2016 +1100

tdf#39468 toolkit: translate some German comments in the VCL UNO helper file

Change-Id: Ib432f2cbfc71ebfec0ef1ecae99ae3fde1a4d946

diff --git a/toolkit/source/helper/vclunohelper.cxx 
b/toolkit/source/helper/vclunohelper.cxx
index ddab490..20bcae5 100644
--- a/toolkit/source/helper/vclunohelper.cxx
+++ b/toolkit/source/helper/vclunohelper.cxx
@@ -381,7 +381,7 @@ css::awt::FontDescriptor 
VCLUnoHelper::CreateFontDescriptor( const vcl::Font& rF
 aFD.Orientation = rFont.GetOrientation();
 aFD.Kerning = rFont.IsKerning();
 aFD.WordLineMode = rFont.IsWordLineMode();
-aFD.Type = 0;   // ??? => Nur an Metric...
+aFD.Type = 0;   // ??? => Only in Metric...
 return aFD;
 }
 
@@ -411,7 +411,7 @@ vcl::Font VCLUnoHelper::CreateFont( const 
css::awt::FontDescriptor& rDescr, cons
 if ( (FontStrikeout)rDescr.Strikeout != STRIKEOUT_DONTKNOW )
 aFont.SetStrikeout( (FontStrikeout)rDescr.Strikeout );
 
-// Kein DONTKNOW
+// Not DONTKNOW
 aFont.SetOrientation( (short)rDescr.Orientation );
 aFont.SetKerning( static_cast(rDescr.Kerning) );
 aFont.SetWordLineMode( rDescr.WordLineMode );
___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-commits] core.git: 2 commits - toolkit/source tools/source ucb/source unotools/source vcl/source vcl/unx

2013-08-27 Thread Takeshi Abe
 toolkit/source/awt/vclxtoolkit.cxx |   18 +-
 tools/source/datetime/tdate.cxx|2 +-
 tools/source/zcodec/zcodec.cxx |2 +-
 ucb/source/core/ucbprops.cxx   |2 +-
 unotools/source/config/pathoptions.cxx |4 ++--
 unotools/source/misc/fontcvt.cxx   |   10 +-
 vcl/source/edit/texteng.cxx|6 +++---
 vcl/source/filter/ixpm/rgbtable.hxx|2 +-
 vcl/source/fontsubset/sft.cxx  |2 +-
 vcl/source/gdi/impvect.cxx |   18 +-
 vcl/source/gdi/outmap.cxx  |4 ++--
 vcl/unx/gtk/window/gtksalframe.cxx |2 +-
 vcl/unx/kde/fpicker/kdefpmain.cxx  |2 +-
 13 files changed, 37 insertions(+), 37 deletions(-)

New commits:
commit eb6ab3bc045701e3d4b8751751700d8375f89fcc
Author: Takeshi Abe t...@fixedpoint.jp
Date:   Wed Aug 28 04:53:50 2013 +0900

Mark as const

Change-Id: If20ac542f31dd650d6d1cc22ced618f73e1ce773

diff --git a/tools/source/datetime/tdate.cxx b/tools/source/datetime/tdate.cxx
index 11f1917..719219a 100644
--- a/tools/source/datetime/tdate.cxx
+++ b/tools/source/datetime/tdate.cxx
@@ -32,7 +32,7 @@ struct tm *localtime_r(const time_t *timep, struct tm 
*buffer);
 }
 #endif
 
-static sal_uInt16 aDaysInMonth[12] = { 31, 28, 31, 30, 31, 30,
+static const sal_uInt16 aDaysInMonth[12] = { 31, 28, 31, 30, 31, 30,
31, 31, 30, 31, 30, 31 };
 
 #define MAX_DAYS3636532
diff --git a/tools/source/zcodec/zcodec.cxx b/tools/source/zcodec/zcodec.cxx
index 497662c..8d23861 100644
--- a/tools/source/zcodec/zcodec.cxx
+++ b/tools/source/zcodec/zcodec.cxx
@@ -35,7 +35,7 @@
 #define GZ_COMMENT  0x10 /* bit 4 set: file comment present */
 #define GZ_RESERVED 0xE0 /* bits 5..7: reserved */
 
-static int gz_magic[2] = { 0x1f, 0x8b }; /* gzip magic header */
+static const int gz_magic[2] = { 0x1f, 0x8b }; /* gzip magic header */
 
 ZCodec::ZCodec( sal_uIntPtr nInBufSize, sal_uIntPtr nOutBufSize, sal_uIntPtr 
nMemUsage )
 : mnCRC(0)
diff --git a/ucb/source/core/ucbprops.cxx b/ucb/source/core/ucbprops.cxx
index 2207a05..ee61cb6 100644
--- a/ucb/source/core/ucbprops.cxx
+++ b/ucb/source/core/ucbprops.cxx
@@ -164,7 +164,7 @@ static const com::sun::star::uno::Type 
Sequence_SendMediaTypes_getCppuType()
 
 #define ATTR_DEFAULT ( PropertyAttribute::BOUND | PropertyAttribute::MAYBEVOID 
| PropertyAttribute::MAYBEDEFAULT )
 
-static PropertyTableEntry __aPropertyTable[] =
+static const PropertyTableEntry __aPropertyTable[] =
 {
 { Account,-1, ATTR_DEFAULT,  
 OUString_getCppuType },
 { AutoUpdateInterval, -1, ATTR_DEFAULT,  
 sal_uInt32_getCppuType },
diff --git a/unotools/source/config/pathoptions.cxx 
b/unotools/source/config/pathoptions.cxx
index 2acbea0..9435505 100644
--- a/unotools/source/config/pathoptions.cxx
+++ b/unotools/source/config/pathoptions.cxx
@@ -196,7 +196,7 @@ struct VarNameAttribute
 VarNameProperty eVarProperty;   // Which return value is needed by 
this path variable
 };
 
-static PropertyStruct aPropNames[] =
+static const PropertyStruct aPropNames[] =
 {
 { Addin,  SvtPathOptions::PATH_ADDIN  },
 { AutoCorrect,SvtPathOptions::PATH_AUTOCORRECT},
@@ -224,7 +224,7 @@ static PropertyStruct aPropNames[] =
 { Fingerprint,SvtPathOptions::PATH_FINGERPRINT}
 };
 
-static VarNameAttribute aVarNameAttribute[] =
+static const VarNameAttribute aVarNameAttribute[] =
 {
 { SUBSTITUTE_INSTPATH,  VAR_NEEDS_SYSTEM_PATH },// $(instpath)
 { SUBSTITUTE_PROGPATH,  VAR_NEEDS_SYSTEM_PATH },// $(progpath)
diff --git a/unotools/source/misc/fontcvt.cxx b/unotools/source/misc/fontcvt.cxx
index 516a05a..277afed 100644
--- a/unotools/source/misc/fontcvt.cxx
+++ b/unotools/source/misc/fontcvt.cxx
@@ -1404,7 +1404,7 @@ void ConvertChar::RecodeString( OUString rStr, sal_Int32 
nIndex, sal_Int32 nLen
 
 struct RecodeTable { const char* pOrgName; ConvertChar aCvt;};
 
-static RecodeTable aStarSymbolRecodeTable[] =
+static const RecodeTable aStarSymbolRecodeTable[] =
 {
 // the first two entries must be StarMath and StarBats; do not reorder!
 // reason: fgrep for FONTTOSUBSFONT_ONLYOLDSOSYMBOLFONTS
@@ -1428,7 +1428,7 @@ static RecodeTable aStarSymbolRecodeTable[] =
 {mtextra, {aMTExtraTab, StarSymbol, NULL}}
 };
 
-static RecodeTable aAppleSymbolRecodeTable[] = {
+static const RecodeTable aAppleSymbolRecodeTable[] = {
 {symbol, {aAdobeSymbolToAppleSymbolTab, AppleSymbol, NULL}}
 };
 
@@ -1451,7 +1451,7 @@ const ConvertChar* ConvertChar::GetRecodeData( const 
OUString rOrgFontName, con
 int nEntries = SAL_N_ELEMENTS(aStarSymbolRecodeTable);
 for( int i = 0; i  nEntries; ++i)
 {
-RecodeTable r = aStarSymbolRecodeTable[i];
+const RecodeTable r = aStarSymbolRecodeTable[i];
 if( 

[Libreoffice-commits] core.git: 2 commits - toolkit/source vcl/headless vcl/inc vcl/source

2013-03-26 Thread Tor Lillqvist
 toolkit/source/awt/vclxsystemdependentwindow.cxx |3 ++
 toolkit/source/awt/vclxtoolkit.cxx   |4 +++
 toolkit/source/awt/vclxtopwindow.cxx |3 ++
 toolkit/source/awt/vclxwindow1.cxx   |2 +
 vcl/headless/svpframe.cxx|6 +++-
 vcl/headless/svpgdi.cxx  |   29 ---
 vcl/headless/svptext.cxx |   21 +++-
 vcl/inc/vcl/sysdata.hxx  |   13 +-
 vcl/source/window/syschild.cxx   |4 +--
 9 files changed, 50 insertions(+), 35 deletions(-)

New commits:
commit baeccb02dabe525217593f9f575d36882c36be76
Author: Tor Lillqvist t...@iki.fi
Date:   Wed Mar 27 00:38:36 2013 +0200

Bypass fields that are meaningless for iOS

Change-Id: I66acafc1f7302242a2a43271b909bba331062bce

diff --git a/toolkit/source/awt/vclxsystemdependentwindow.cxx 
b/toolkit/source/awt/vclxsystemdependentwindow.cxx
index e156879..b54cca2 100644
--- a/toolkit/source/awt/vclxsystemdependentwindow.cxx
+++ b/toolkit/source/awt/vclxsystemdependentwindow.cxx
@@ -84,6 +84,9 @@ IMPL_XTYPEPROVIDER_END
 {
  aRet = (sal_IntPtr)pSysData-pView;
 }
+#elif (defined IOS)
+// Nothing
+(void) SystemType;
 #elif (defined UNX)
 if( SystemType == 
::com::sun::star::lang::SystemDependent::SYSTEM_XWINDOW )
 {
diff --git a/toolkit/source/awt/vclxtoolkit.cxx 
b/toolkit/source/awt/vclxtoolkit.cxx
index 31fdb3a..8620144 100644
--- a/toolkit/source/awt/vclxtoolkit.cxx
+++ b/toolkit/source/awt/vclxtoolkit.cxx
@@ -936,6 +936,8 @@ Window* VCLXToolkit::ImplCreateWindow( VCLXWindow** 
ppNewComp,
 aParentData.nSize   = sizeof( aParentData 
);
 #if defined MACOSX
 aParentData.pView   = 
reinterpret_castNSView*(nWindowHandle);
+#elif defined IOS
+// Nothing
 #elif defined UNX
 aParentData.aWindow = nWindowHandle;
 aParentData.bXEmbedSupport = bXEmbed;
@@ -1181,6 +1183,8 @@ css::uno::Reference css::awt::XWindowPeer  
VCLXToolkit::ImplCreateWindow(
 aParentData.nSize   = sizeof( aParentData );
 #if defined MACOSX
 aParentData.pView   = reinterpret_castNSView*(nWindowHandle);
+#elif defined IOS
+// Nothing
 #elif defined UNX
 aParentData.aWindow = nWindowHandle;
 aParentData.bXEmbedSupport = bXEmbed;
diff --git a/toolkit/source/awt/vclxtopwindow.cxx 
b/toolkit/source/awt/vclxtopwindow.cxx
index a4758ac..0f61b49 100644
--- a/toolkit/source/awt/vclxtopwindow.cxx
+++ b/toolkit/source/awt/vclxtopwindow.cxx
@@ -96,6 +96,9 @@ Sequence Type  VCLXTopWindow_Base::getTypes() 
throw(RuntimeException)
 {
  aRet = (sal_IntPtr)pSysData-pView;
 }
+#elif (defined IOS)
+// Nothing
+(void) SystemType;
 #elif (defined UNX)
 if( SystemType == 
::com::sun::star::lang::SystemDependent::SYSTEM_XWINDOW )
 {
diff --git a/toolkit/source/awt/vclxwindow1.cxx 
b/toolkit/source/awt/vclxwindow1.cxx
index 029c3bc..ce5efb1 100644
--- a/toolkit/source/awt/vclxwindow1.cxx
+++ b/toolkit/source/awt/vclxwindow1.cxx
@@ -85,6 +85,8 @@ void VCLXWindow::SetSystemParent_Impl( const 
com::sun::star::uno::Any rHandle )
 aSysParentData.hWnd = (HWND) nHandle;
 #elif defined( MACOSX )
 aSysParentData.pView = reinterpret_castNSView*(nHandle);
+#elif defined( IOS )
+// Nothing
 #elif defined( UNX )
 aSysParentData.aWindow = (long)nHandle;
 aSysParentData.bXEmbedSupport = bXEmbed;
diff --git a/vcl/headless/svpframe.cxx b/vcl/headless/svpframe.cxx
index 8a234df..dfe96a0 100644
--- a/vcl/headless/svpframe.cxx
+++ b/vcl/headless/svpframe.cxx
@@ -82,9 +82,11 @@ SvpSalFrame::SvpSalFrame( SvpSalInstance* pInstance,
 // fast and easy cross-platform wiping of the data
 memset( (void *)m_aSystemChildData, 0, sizeof( SystemChildData ) );
 m_aSystemChildData.nSize= sizeof( SystemChildData );
-#ifdef UNX
+#ifdef IOS
+// Nothing
+#else
 m_aSystemChildData.pSalFrame= this;
-#if defined(ANDROID) || defined(IOS)
+#ifdef ANDROID
 // We want 32-bit RGBA bitmaps
 m_aSystemChildData.nDepth   = 32;
 #else
diff --git a/vcl/inc/vcl/sysdata.hxx b/vcl/inc/vcl/sysdata.hxx
index a1db487..be17b95 100644
--- a/vcl/inc/vcl/sysdata.hxx
+++ b/vcl/inc/vcl/sysdata.hxx
@@ -64,6 +64,8 @@ struct SystemEnvData
 HWNDhWnd;   // the window hwnd
 #elif defined( MACOSX )
 NSView*   pView;  // the cocoa (NSView *) implementing 
this object
+#elif defined( IOS )
+// Nothing
 #elif defined( UNX )
 

[Libreoffice-commits] core.git: 2 commits - toolkit/source vcl/headless vcl/inc vcl/source

2013-03-26 Thread Tor Lillqvist
 toolkit/source/awt/vclxsystemdependentwindow.cxx |3 +++
 toolkit/source/awt/vclxtoolkit.cxx   |4 
 toolkit/source/awt/vclxtopwindow.cxx |3 +++
 toolkit/source/awt/vclxwindow1.cxx   |2 ++
 vcl/headless/svpframe.cxx|7 ++-
 vcl/headless/svptext.cxx |1 +
 vcl/inc/vcl/sysdata.hxx  |   14 +-
 vcl/source/window/syschild.cxx   |2 ++
 8 files changed, 30 insertions(+), 6 deletions(-)

New commits:
commit 2b520e7d8a0cf12c71b8fc09d6d83dda8a3b6c32
Author: Tor Lillqvist t...@iki.fi
Date:   Wed Mar 27 02:11:39 2013 +0200

Bypass X11-specific fields for Android

Change-Id: Ic8bfd4467b2fbcdcfa2caeb04d4ebe95f13863a2

diff --git a/toolkit/source/awt/vclxsystemdependentwindow.cxx 
b/toolkit/source/awt/vclxsystemdependentwindow.cxx
index b54cca2..1013064 100644
--- a/toolkit/source/awt/vclxsystemdependentwindow.cxx
+++ b/toolkit/source/awt/vclxsystemdependentwindow.cxx
@@ -84,6 +84,9 @@ IMPL_XTYPEPROVIDER_END
 {
  aRet = (sal_IntPtr)pSysData-pView;
 }
+#elif (defined ANDROID)
+// Nothing
+(void) SystemType;
 #elif (defined IOS)
 // Nothing
 (void) SystemType;
diff --git a/toolkit/source/awt/vclxtoolkit.cxx 
b/toolkit/source/awt/vclxtoolkit.cxx
index 8620144..ab08d92 100644
--- a/toolkit/source/awt/vclxtoolkit.cxx
+++ b/toolkit/source/awt/vclxtoolkit.cxx
@@ -936,6 +936,8 @@ Window* VCLXToolkit::ImplCreateWindow( VCLXWindow** 
ppNewComp,
 aParentData.nSize   = sizeof( aParentData 
);
 #if defined MACOSX
 aParentData.pView   = 
reinterpret_castNSView*(nWindowHandle);
+#elif defined ANDROID
+// Nothing
 #elif defined IOS
 // Nothing
 #elif defined UNX
@@ -1183,6 +1185,8 @@ css::uno::Reference css::awt::XWindowPeer  
VCLXToolkit::ImplCreateWindow(
 aParentData.nSize   = sizeof( aParentData );
 #if defined MACOSX
 aParentData.pView   = reinterpret_castNSView*(nWindowHandle);
+#elif defined ANDROID
+// Nothing
 #elif defined IOS
 // Nothing
 #elif defined UNX
diff --git a/toolkit/source/awt/vclxtopwindow.cxx 
b/toolkit/source/awt/vclxtopwindow.cxx
index 0f61b49..d8580fe 100644
--- a/toolkit/source/awt/vclxtopwindow.cxx
+++ b/toolkit/source/awt/vclxtopwindow.cxx
@@ -96,6 +96,9 @@ Sequence Type  VCLXTopWindow_Base::getTypes() 
throw(RuntimeException)
 {
  aRet = (sal_IntPtr)pSysData-pView;
 }
+#elif (defined ANDROID)
+// Nothing
+(void) SystemType;
 #elif (defined IOS)
 // Nothing
 (void) SystemType;
diff --git a/toolkit/source/awt/vclxwindow1.cxx 
b/toolkit/source/awt/vclxwindow1.cxx
index ce5efb1..32baeb7 100644
--- a/toolkit/source/awt/vclxwindow1.cxx
+++ b/toolkit/source/awt/vclxwindow1.cxx
@@ -85,6 +85,8 @@ void VCLXWindow::SetSystemParent_Impl( const 
com::sun::star::uno::Any rHandle )
 aSysParentData.hWnd = (HWND) nHandle;
 #elif defined( MACOSX )
 aSysParentData.pView = reinterpret_castNSView*(nHandle);
+#elif defined( ANDROID )
+// Nothing
 #elif defined( IOS )
 // Nothing
 #elif defined( UNX )
diff --git a/vcl/headless/svpframe.cxx b/vcl/headless/svpframe.cxx
index dfe96a0..bf679d9 100644
--- a/vcl/headless/svpframe.cxx
+++ b/vcl/headless/svpframe.cxx
@@ -84,15 +84,12 @@ SvpSalFrame::SvpSalFrame( SvpSalInstance* pInstance,
 m_aSystemChildData.nSize= sizeof( SystemChildData );
 #ifdef IOS
 // Nothing
+#elif defined ANDROID
+// Nothing
 #else
 m_aSystemChildData.pSalFrame= this;
-#ifdef ANDROID
-// We want 32-bit RGBA bitmaps
-m_aSystemChildData.nDepth   = 32;
-#else
 m_aSystemChildData.nDepth   = 24;
 #endif
-#endif
 
 if( m_pParent )
 m_pParent-m_aChildren.push_back( this );
diff --git a/vcl/inc/vcl/sysdata.hxx b/vcl/inc/vcl/sysdata.hxx
index be17b95..d06e72a 100644
--- a/vcl/inc/vcl/sysdata.hxx
+++ b/vcl/inc/vcl/sysdata.hxx
@@ -64,6 +64,8 @@ struct SystemEnvData
 HWNDhWnd;   // the window hwnd
 #elif defined( MACOSX )
 NSView*   pView;  // the cocoa (NSView *) implementing 
this object
+#elif defined( ANDROID )
+// Nothing
 #elif defined( IOS )
 // Nothing
 #elif defined( UNX )
@@ -94,6 +96,8 @@ struct SystemParentData
 HWNDhWnd; // the window hwnd
 #elif defined( MACOSX )
 NSView* pView;// the cocoa (NSView *) implementing 
this object
+#elif defined( ANDROID )
+// Nothing
 #elif defined( IOS )
 //