[PATCH 0/2] MR2620: include: Add windows.ui.composition.interop.idl file.
Needed for mingw Firefox build. The WIDL error points to the wrong function, specifically the one after it. include/windows.ui.composition.interop.idl:35:63: error: parameter 'swapchain' of function 'CreateCompositionSurfaceForHandle' cannot derive from void * HRESULT CreateCompositionSurfaceForSwapChain([in] IUnknown *swapchain, [out, retval] ICompositionSurface **result); ^ make[1]: *** [Makefile:163749: include/windows.ui.composition.interop.h] Error 1 -- https://gitlab.winehq.org/wine/wine/-/merge_requests/2620
From: Mohamad Al-Jaf <mohamadaljaf(a)gmail.com> Needed by windows.ui.composition.interop.idl. --- tools/widl/typegen.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/tools/widl/typegen.c b/tools/widl/typegen.c index b3373ded11d..6990bd5f75f 100644 --- a/tools/widl/typegen.c +++ b/tools/widl/typegen.c @@ -329,6 +329,10 @@ enum typegen_type typegen_detect_type(const type_t *type, const attr_list_t *att (is_attr(attrs, ATTR_RANGE) || is_aliaschain_attr(type, ATTR_RANGE))) return TGT_RANGE; return TGT_BASIC; + case TYPE_VOID: + if (is_aliaschain_attr(type, ATTR_CONTEXTHANDLE)) + return TGT_CTXT_HANDLE; + return TGT_BASIC; case TYPE_ENUM: if (!(flags & TDT_IGNORE_RANGES) && (is_attr(attrs, ATTR_RANGE) || is_aliaschain_attr(type, ATTR_RANGE))) @@ -355,7 +359,6 @@ enum typegen_type typegen_detect_type(const type_t *type, const attr_list_t *att case TYPE_COCLASS: case TYPE_INTERFACE: case TYPE_MODULE: - case TYPE_VOID: case TYPE_ALIAS: case TYPE_BITFIELD: case TYPE_RUNTIMECLASS: -- GitLab https://gitlab.winehq.org/wine/wine/-/merge_requests/2620
From: Mohamad Al-Jaf <mohamadaljaf(a)gmail.com> Needed for mingw Firefox build. --- include/Makefile.in | 1 + include/windows.ui.composition.interop.idl | 40 ++++++++++++++++++++++ 2 files changed, 41 insertions(+) create mode 100644 include/windows.ui.composition.interop.idl diff --git a/include/Makefile.in b/include/Makefile.in index f52314e745d..54d6dca234d 100644 --- a/include/Makefile.in +++ b/include/Makefile.in @@ -838,6 +838,7 @@ SOURCES = \ windows.system.threading.idl \ windows.system.userprofile.idl \ windows.ui.composition.idl \ + windows.ui.composition.interop.idl \ windows.ui.core.idl \ windows.ui.idl \ windows.ui.viewmanagement.idl \ diff --git a/include/windows.ui.composition.interop.idl b/include/windows.ui.composition.interop.idl new file mode 100644 index 00000000000..cde3e62f533 --- /dev/null +++ b/include/windows.ui.composition.interop.idl @@ -0,0 +1,40 @@ +/* + * Copyright (C) 2023 Mohamad Al-Jaf + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +#ifdef __WIDL__ +#pragma winrt ns_prefix +#endif + +import "windows.ui.composition.idl"; +import "sdkddkver.h"; + +namespace Windows.UI.Composition { + interface ICompositorInterop; + + [ + object, + uuid(25297d5c-3ad4-4c9c-b5cf-e36a38512330), + pointer_default(unique) + ] + interface ICompositorInterop : IInspectable + { + HRESULT CreateCompositionSurfaceForHandle([in] HANDLE swapchain, [out, retval] ICompositionSurface **result); + HRESULT CreateCompositionSurfaceForSwapChain([in] IUnknown *swapchain, [out, retval] ICompositionSurface **result); + HRESULT CreateGraphicsDevice([in] IUnknown *device, [out, retval] ICompositionGraphicsDevice **result); + }; +} -- GitLab https://gitlab.winehq.org/wine/wine/-/merge_requests/2620
Hi, It looks like your patch introduced the new failures shown below. Please investigate and fix them before resubmitting your patch. If they are not new, fixing them anyway would help a lot. Otherwise please ask for the known failures list to be updated. The full results can be found at: https://testbot.winehq.org/JobDetails.pl?Key=131696 Your paranoid android. === debian11 (build log) === Task: The win32 Wine build failed === debian11b (build log) === Task: The wow64 Wine build failed
@jacek I believe this is the last patch needed for mingw Firefox build, can you please confirm? -- https://gitlab.winehq.org/wine/wine/-/merge_requests/2620#note_29421
participants (3)
-
Marvin -
Mohamad Al-Jaf -
Mohamad Al-Jaf (@maljaf)