Re: [Mingw-w64-public] Incorrect GUID definitions in mfidl.h

2019-12-11 Thread Jacek Caban

On 12/11/19 1:43 PM, Liu Hao wrote:

在 2019/12/11 20:04, Jacek Caban 写道:

The attached patch should fix it, please review. It shouldn't be needed
for include/mfidl.h through...



LGTM.

Now here is another error:

```
/mingw64/bin/widl -DBOOL=WINBOOL -I./include -I./direct-x/include -Icrt
-I./crt -h -o include/windows.storage.streams.h
include/windows.storage.streams.idl
include/windows.storage.streams.idl:35: error: type 'IBuffer' not found
make: *** [Makefile:1281: include/windows.storage.streams.h] Error 1
```



That one is more tricky. It's because those winrt IDLs were committed 
without finished widl support. Right now we have useless and invalid IDL 
files that we can't use to generate anything (and even if we had widl 
complete, they would still be invalid). I've done some work on that. 
Partial winrt support is in widl now and I have more WIP patches waiting 
for some time to finish. But it's still quite a lot of work...



Jacek



___
Mingw-w64-public mailing list
Mingw-w64-public@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public


Re: [Mingw-w64-public] Incorrect GUID definitions in mfidl.h

2019-12-11 Thread Liu Hao
在 2019/12/11 20:04, Jacek Caban 写道:
> 
> The attached patch should fix it, please review. It shouldn't be needed
> for include/mfidl.h through...
> 
> 

LGTM.

Now here is another error:

```
/mingw64/bin/widl -DBOOL=WINBOOL -I./include -I./direct-x/include -Icrt
-I./crt -h -o include/windows.storage.streams.h
include/windows.storage.streams.idl
include/windows.storage.streams.idl:35: error: type 'IBuffer' not found
make: *** [Makefile:1281: include/windows.storage.streams.h] Error 1
```



-- 
Best regards,
LH_Mouse



signature.asc
Description: OpenPGP digital signature
___
Mingw-w64-public mailing list
Mingw-w64-public@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public


Re: [Mingw-w64-public] Incorrect GUID definitions in mfidl.h

2019-12-11 Thread Jacek Caban

On 12/11/19 12:44 PM, Liu Hao wrote:

在 2019/12/10 19:17, Jacek Caban 写道:

On 12/10/19 12:10 PM, Liu Hao wrote:

You could just use make include/mfidl.h if you use configure with
--with-widl. This uses -DBOOL=WINBOOL when generating headers. IDL files
should use BOOL, not WINBOOL, and leave it for widl to generate correct
headers.



Thanks for the information. `-DBOOL=WINBOOL` makes WIDL compile the IDL
without any modification.

However `make include/mfidl.h` seemed to be stuck with some syntax
errors likes this:
```
crt/ctype.h:108: error: syntax error, unexpected aIDENTIFIER, expecting
tTYPEDEF
make[2]: *** [Makefile:1281: include/docobjectservice.h] Error 1
```



The attached patch should fix it, please review. It shouldn't be needed 
for include/mfidl.h through...



Jacek

commit 37c5be50b3549ed9695f45b509560b4338b813c2
Author: Jacek Caban 
Date:   Wed Dec 11 12:58:56 2019 +0100

mshtml.idl: Correctly import dxgitype.idl.

diff --git a/mingw-w64-headers/include/mshtml.idl b/mingw-w64-headers/include/mshtml.idl
index 3394f05d..1090fcba 100644
--- a/mingw-w64-headers/include/mshtml.idl
+++ b/mingw-w64-headers/include/mshtml.idl
@@ -83,7 +83,7 @@ interface IIE80DispatchEx : IDispatchEx {
 library MSHTML {
   importlib ("stdole2.tlb");
   import "ocidl.idl";
-  import "dxgitype.h";
+  import "dxgitype.idl";
 
   interface IDOMEvent;
   interface IElementBehavior;
___
Mingw-w64-public mailing list
Mingw-w64-public@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public


Re: [Mingw-w64-public] Incorrect GUID definitions in mfidl.h

2019-12-11 Thread Liu Hao
在 2019/12/10 19:17, Jacek Caban 写道:
> On 12/10/19 12:10 PM, Liu Hao wrote:
> 
> You could just use make include/mfidl.h if you use configure with
> --with-widl. This uses -DBOOL=WINBOOL when generating headers. IDL files
> should use BOOL, not WINBOOL, and leave it for widl to generate correct
> headers.
> 
> 

Thanks for the information. `-DBOOL=WINBOOL` makes WIDL compile the IDL
without any modification.

However `make include/mfidl.h` seemed to be stuck with some syntax
errors likes this:
```
crt/ctype.h:108: error: syntax error, unexpected aIDENTIFIER, expecting
tTYPEDEF
make[2]: *** [Makefile:1281: include/docobjectservice.h] Error 1
```

-- 
Best regards,
LH_Mouse



signature.asc
Description: OpenPGP digital signature
___
Mingw-w64-public mailing list
Mingw-w64-public@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public


Re: [Mingw-w64-public] Incorrect GUID definitions in mfidl.h

2019-12-10 Thread Biswapriyo Nath
How about importing mfidl.idl[1] from wine repository? Then update the
mfidl.idl file in wine. `wine-import.sh` will take care of the
WINBOOL/BOOL confusion.

[1]: https://source.winehq.org/git/wine.git/blob/HEAD:/include/mfidl.idl


___
Mingw-w64-public mailing list
Mingw-w64-public@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public


Re: [Mingw-w64-public] Incorrect GUID definitions in mfidl.h

2019-12-10 Thread Jacek Caban

On 12/10/19 12:10 PM, Liu Hao wrote:

在 2019/12/10 18:42, Eric Hassold 写道:

Hi all,

Tracking issue with one small program using Media Foundation was
failing at runtime only if compiled with Mingw, I found out that
definitions for some GUID in mfidl.h are incorrect (or mixed, with one
ID getting the value of another).

Namely, at mfidl.h:3407, GUID:
   MF_DEVSOURCE_ATTRIBUTE_SOURCE_TYPE_VIDCAP_GUID
is defined as:
   0xc60ac5fe, 0x252a, 0x478f, 0xa0, 0xef, 0xbc, 0x8f, 0xa5, 0xf7, 0xca, 0xd3
but this is actually the UUID for MF_DEVSOURCE_ATTRIBUTE_SOURCE_TYPE
(while definition for MF_DEVSOURCE_ATTRIBUTE_SOURCE_TYPE itself is
missing).

Correct values should be:
EXTERN_GUID( MF_DEVSOURCE_ATTRIBUTE_SOURCE_TYPE, 0xc60ac5fe, 0x252a,
0x478f, 0xa0, 0xef, 0xbc, 0x8f, 0xa5, 0xf7, 0xca, 0xd3);
EXTERN_GUID(MF_DEVSOURCE_ATTRIBUTE_SOURCE_TYPE_VIDCAP_GUID,
0x8ac3587a, 0x4ae7, 0x42d8, 0x99, 0xe0, 0x0a, 0x60, 0x13, 0xee, 0xf9,
0x0f);

Attached is patch for mfidl.idl (need to regenerate mfidl.h, not
included in patch).



Thanks. Pushed this one.

Side note: WIDL 4.19 doesn't seem to like `WINBOOL` and reports syntax
errors likes this:
```
WIDL mediaobj.idl:20: error: syntax error, unexpected aIDENTIFIER
```

I replaced all `BOOL` with `WINBOOL` to generate the header. I also had
to be careful not to commit such changes by accident. I hope someone is
going to fix this issue.



You could just use make include/mfidl.h if you use configure with 
--with-widl. This uses -DBOOL=WINBOOL when generating headers. IDL files 
should use BOOL, not WINBOOL, and leave it for widl to generate correct 
headers.



Jacek



___
Mingw-w64-public mailing list
Mingw-w64-public@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public


Re: [Mingw-w64-public] Incorrect GUID definitions in mfidl.h

2019-12-10 Thread Liu Hao
在 2019/12/10 18:42, Eric Hassold 写道:
> Hi all,
> 
> Tracking issue with one small program using Media Foundation was
> failing at runtime only if compiled with Mingw, I found out that
> definitions for some GUID in mfidl.h are incorrect (or mixed, with one
> ID getting the value of another).
> 
> Namely, at mfidl.h:3407, GUID:
>   MF_DEVSOURCE_ATTRIBUTE_SOURCE_TYPE_VIDCAP_GUID
> is defined as:
>   0xc60ac5fe, 0x252a, 0x478f, 0xa0, 0xef, 0xbc, 0x8f, 0xa5, 0xf7, 0xca, 0xd3
> but this is actually the UUID for MF_DEVSOURCE_ATTRIBUTE_SOURCE_TYPE
> (while definition for MF_DEVSOURCE_ATTRIBUTE_SOURCE_TYPE itself is
> missing).
> 
> Correct values should be:
> EXTERN_GUID( MF_DEVSOURCE_ATTRIBUTE_SOURCE_TYPE, 0xc60ac5fe, 0x252a,
> 0x478f, 0xa0, 0xef, 0xbc, 0x8f, 0xa5, 0xf7, 0xca, 0xd3);
> EXTERN_GUID(MF_DEVSOURCE_ATTRIBUTE_SOURCE_TYPE_VIDCAP_GUID,
> 0x8ac3587a, 0x4ae7, 0x42d8, 0x99, 0xe0, 0x0a, 0x60, 0x13, 0xee, 0xf9,
> 0x0f);
> 
> Attached is patch for mfidl.idl (need to regenerate mfidl.h, not
> included in patch).
> 
>

Thanks. Pushed this one.

Side note: WIDL 4.19 doesn't seem to like `WINBOOL` and reports syntax
errors likes this:
```
WIDL mediaobj.idl:20: error: syntax error, unexpected aIDENTIFIER
```

I replaced all `BOOL` with `WINBOOL` to generate the header. I also had
to be careful not to commit such changes by accident. I hope someone is
going to fix this issue.



-- 
Best regards,
LH_Mouse



signature.asc
Description: OpenPGP digital signature
___
Mingw-w64-public mailing list
Mingw-w64-public@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public


[Mingw-w64-public] Incorrect GUID definitions in mfidl.h

2019-12-10 Thread Eric Hassold
Hi all,

Tracking issue with one small program using Media Foundation was
failing at runtime only if compiled with Mingw, I found out that
definitions for some GUID in mfidl.h are incorrect (or mixed, with one
ID getting the value of another).

Namely, at mfidl.h:3407, GUID:
  MF_DEVSOURCE_ATTRIBUTE_SOURCE_TYPE_VIDCAP_GUID
is defined as:
  0xc60ac5fe, 0x252a, 0x478f, 0xa0, 0xef, 0xbc, 0x8f, 0xa5, 0xf7, 0xca, 0xd3
but this is actually the UUID for MF_DEVSOURCE_ATTRIBUTE_SOURCE_TYPE
(while definition for MF_DEVSOURCE_ATTRIBUTE_SOURCE_TYPE itself is
missing).

Correct values should be:
EXTERN_GUID( MF_DEVSOURCE_ATTRIBUTE_SOURCE_TYPE, 0xc60ac5fe, 0x252a,
0x478f, 0xa0, 0xef, 0xbc, 0x8f, 0xa5, 0xf7, 0xca, 0xd3);
EXTERN_GUID(MF_DEVSOURCE_ATTRIBUTE_SOURCE_TYPE_VIDCAP_GUID,
0x8ac3587a, 0x4ae7, 0x42d8, 0x99, 0xe0, 0x0a, 0x60, 0x13, 0xee, 0xf9,
0x0f);

Attached is patch for mfidl.idl (need to regenerate mfidl.h, not
included in patch).

Regards,
Eric
diff --git a/mingw-w64-headers/include/mfidl.idl 
b/mingw-w64-headers/include/mfidl.idl
index c440152a..97de9a4f 100644
--- a/mingw-w64-headers/include/mfidl.idl
+++ b/mingw-w64-headers/include/mfidl.idl
@@ -671,4 +671,5 @@ 
cpp_quote("EXTERN_GUID(MF_DEVSOURCE_ATTRIBUTE_SOURCE_TYPE_VIDCAP_CATEGORY, 0x77f
 cpp_quote("EXTERN_GUID(MF_DEVSOURCE_ATTRIBUTE_SOURCE_TYPE_VIDCAP_HW_SOURCE, 
0xde7046ba,0x54d6,0x4487,0xa2,0xa4,0xec,0x7c,0xd,0x1b,0xd1,0x63);")
 cpp_quote("EXTERN_GUID(MF_DEVSOURCE_ATTRIBUTE_SOURCE_TYPE_VIDCAP_MAX_BUFFERS, 
0x7dd9b730,0x4f2d,0x41d5,0x8f,0x95,0xc,0xc9,0xa9,0x12,0xba,0x26);")
 
cpp_quote("EXTERN_GUID(MF_DEVSOURCE_ATTRIBUTE_SOURCE_TYPE_VIDCAP_SYMBOLIC_LINK, 
0x58f0aad8,0x22bf,0x4f8a,0xbb,0x3d,0xd2,0xc4,0x97,0x8c,0x6e,0x2f);")
-cpp_quote("EXTERN_GUID(MF_DEVSOURCE_ATTRIBUTE_SOURCE_TYPE_VIDCAP_GUID, 
0xc60ac5fe,0x252a,0x478f,0xa0,0xef,0xbc,0x8f,0xa5,0xf7,0xca,0xd3);")
+cpp_quote("EXTERN_GUID(MF_DEVSOURCE_ATTRIBUTE_SOURCE_TYPE, 
0xc60ac5fe,0x252a,0x478f,0xa0,0xef,0xbc,0x8f,0xa5,0xf7,0xca,0xd3);")
+cpp_quote("EXTERN_GUID(MF_DEVSOURCE_ATTRIBUTE_SOURCE_TYPE_VIDCAP_GUID, 
0x8ac3587a,0x4ae7,0x42d8,0x99,0xe0,0x0a,0x60,0x13,0xee,0xf9,0x0f);")
___
Mingw-w64-public mailing list
Mingw-w64-public@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public