Do not map LayeredPane and Terminal to the wrong MSAA role

Microsoft did at some point extend the roles in MSAA with two extra
roles (ROLE_SYSTEM_IPADDRESS and ROLE_SYSTEM_OUTLINEBUTTON).
These are defined in oleacc.h as:
  #define	ROLE_SYSTEM_IPADDRESS	( 0x3f )
  #define	ROLE_SYSTEM_OUTLINEBUTTON	( 0x40 )

This means that LayeredPane will map to ROLE_SYSTEM_IPADDRESS
and Terminal will map to ROLE_SYSTEM_OUTLINEBUTTON, which is
obviously wrong.

We now reserve some valuespace for more roles to reduce the likelyness of
any collisions in the future. Having the reserved area also serves
as a way of indicating the boundary between the "MSAA" enums and other
enums.

Change-Id: Ic67a1a7200382fed3040e69b3e8856376ba642ac
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@nokia.com>
This commit is contained in:
Jan-Arve Saether 2012-04-25 09:13:07 +02:00 committed by Qt by Nokia
parent 17ebedf5fc
commit 3fef4b4635

View File

@ -293,10 +293,12 @@ public:
PageTabList = 0x0000003C,
Clock = 0x0000003D,
Splitter = 0x0000003E,
// Reserved space in case MSAA roles needs to be added
// Additional Qt roles where enum value does not map directly to MSAA:
LayeredPane = 0x0000003F,
Terminal = 0x00000040,
Desktop = 0x00000041,
LayeredPane = 0x00000080,
Terminal = 0x00000081,
Desktop = 0x00000082,
UserRole = 0x0000ffff
};