Enable Microsoft Edge to run in Windows 10 mode.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=51437 Signed-off-by: Mohamad Al-Jaf mohamadaljaf@gmail.com --- Note: I'm not sure how Alex Henrie managed to install it in Windows 10 mode because I get the error:
"Failed to cache the downloaded installer. Error: 0x800b0109.".
In any case, using the offline installer allows it to install in Windows 10 mode, but still requires the function UiaRaiseAutomationPropertyChangedEvent to run.
Also, according to MSDN, the VARIANT parameter is not a pointer, but Wine 32-bit fails to compile if it's not set. Likewise, for the FIXME channel, if debugstr_variant is used, Wine 64-bit compiles but 32-bit fails to compile due to the same error:
"undefined reference to `UiaRaiseAutomationPropertyChangedEvent@16' collect2: error: ld returned 1 exit status".
I have no idea why this is happening. --- dlls/uiautomationcore/uia_main.c | 9 +++++++++ dlls/uiautomationcore/uiautomationcore.spec | 2 +- include/uiautomationcoreapi.h | 1 + 3 files changed, 11 insertions(+), 1 deletion(-)
diff --git a/dlls/uiautomationcore/uia_main.c b/dlls/uiautomationcore/uia_main.c index 44fd42742d9..f2d9d05a999 100644 --- a/dlls/uiautomationcore/uia_main.c +++ b/dlls/uiautomationcore/uia_main.c @@ -324,6 +324,15 @@ HRESULT WINAPI UiaRaiseAutomationEvent(IRawElementProviderSimple *provider, EVEN return S_OK; }
+/*********************************************************************** + * UiaRaiseAutomationPropertyChangedEvent (uiautomationcore.@) + */ +HRESULT WINAPI UiaRaiseAutomationPropertyChangedEvent(IRawElementProviderSimple *provider, PROPERTYID id, VARIANT *oldValue, VARIANT *newValue) +{ + FIXME("(%p, %d, %p, %p): stub\n", provider, id, oldValue, newValue); + return S_OK; +} + void WINAPI UiaRegisterProviderCallback(UiaProviderCallback *callback) { FIXME("(%p): stub\n", callback); diff --git a/dlls/uiautomationcore/uiautomationcore.spec b/dlls/uiautomationcore/uiautomationcore.spec index 656641c4bad..a5ab714f718 100644 --- a/dlls/uiautomationcore/uiautomationcore.spec +++ b/dlls/uiautomationcore/uiautomationcore.spec @@ -86,7 +86,7 @@ #@ stub UiaProviderFromIAccessible @ stub UiaRaiseAsyncContentLoadedEvent @ stdcall UiaRaiseAutomationEvent(ptr long) -@ stub UiaRaiseAutomationPropertyChangedEvent +@ stdcall UiaRaiseAutomationPropertyChangedEvent(ptr long ptr ptr) #@ stub UiaRaiseChangesEvent #@ stub UiaRaiseNotificationEvent @ stub UiaRaiseStructureChangedEvent diff --git a/include/uiautomationcoreapi.h b/include/uiautomationcoreapi.h index de486710158..21b6a355fac 100644 --- a/include/uiautomationcoreapi.h +++ b/include/uiautomationcoreapi.h @@ -66,6 +66,7 @@ HRESULT WINAPI UiaGetReservedNotSupportedValue(IUnknown **value); int WINAPI UiaLookupId(enum AutomationIdentifierType type, const GUID *guid); BOOL WINAPI UiaPatternRelease(HUIAPATTERNOBJECT hobj); HRESULT WINAPI UiaRaiseAutomationEvent(IRawElementProviderSimple *provider, EVENTID id); +HRESULT WINAPI UiaRaiseAutomationPropertyChangedEvent(IRawElementProviderSimple *provider, PROPERTYID id, VARIANT *oldValue, VARIANT *newValue); void WINAPI UiaRegisterProviderCallback(UiaProviderCallback *pCallback); LRESULT WINAPI UiaReturnRawElementProvider(HWND hwnd, WPARAM wParam, LPARAM lParam, IRawElementProviderSimple *elprov); BOOL WINAPI UiaTextRangeRelease(HUIATEXTRANGE hobj);
On 11/29/21 10:35 AM, Mohamad Al-Jaf wrote:
+/***********************************************************************
UiaRaiseAutomationPropertyChangedEvent (uiautomationcore.@)
- */
+HRESULT WINAPI UiaRaiseAutomationPropertyChangedEvent(IRawElementProviderSimple *provider, PROPERTYID id, VARIANT *oldValue, VARIANT *newValue) +{
- FIXME("(%p, %d, %p, %p): stub\n", provider, id, oldValue, newValue);
- return S_OK;
+}
The prototype is wrong, and return value is not what stubs usually have.