On Mon May 27 23:57:31 2024 +0000, Jinoh Kang wrote:
> The `TOKEN_MANDATORY_LABEL` structure pointed by `ptr`, with length
> `len`. This is documented in https://learn.microsoft.com/en-us/windows/win32/api/winnt/ne-winnt-token_in….
> You need to define both `TOKEN_MANDATORY_LEVEL32` (with ULONG in place
> of pointers) and `TOKEB_MANDATORY_LABEL` (with actual pointers).
> Also, don't assume `ptr` is not "used." Maybe *right now,* but ntdll and
> wow64 are still separate components that can get out of sync without tests.
If you don't want to go through all the hassle, but still want to go "in the right direction," please read my first comment.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/5721#note_71423
On Mon May 27 23:57:31 2024 +0000, Fabian Maurer wrote:
> @iamahuman There is no parameters used so what should I translate?
The `TOKEN_MANDATORY_LABEL` structure pointed by `ptr`, with length `len`. This is documented in https://learn.microsoft.com/en-us/windows/win32/api/winnt/ne-winnt-token_in….
You need to define both `TOKEN_MANDATORY_LEVEL32` (with ULONG in place of pointers) and `TOKEB_MANDATORY_LABEL` (with actual pointers).
Also, don't assume `ptr` is not "used." Maybe *right now,* but ntdll and wow64 are still separate components that can get out of sync without tests.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/5721#note_71422
On Mon May 27 23:57:31 2024 +0000, Jinoh Kang wrote:
> @DarkShadow44 you also have to translate 32bit struct parameter to 64bit
> before passing to native.
@iamahuman There is no parameters used so what should I translate?
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/5721#note_71421
Rémi Bernon (@rbernon) commented about tools/widl/widltypes.h:
> struct location where;
> unsigned int ignore : 1;
> unsigned int defined : 1;
> + unsigned int defined_in_import : 1;
What about decoupling this from the definition status? Something like `is_imported`?
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/5724#note_71400
Rémi Bernon (@rbernon) commented about tools/widl/typetree.c:
> error_loc("type %s already defined at %s:%d\n", type->name, type->where.input_name, type->where.first_line );
>
> type->defined = TRUE;
> + init_location(&type->where, NULL, NULL);
It would be better to pass the explicit token location from the parser instead of relying on the implicit global last location.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/5724#note_71399
Rémi Bernon (@rbernon) commented about tools/widl/widltypes.h:
>
> struct location where;
>
> - unsigned int declonly : 1;
> + /* Should we define the UDT in this var, when writing a header? */
> + bool define;
This is the first and only use of `bool` in widl. Later, you're also introducing a new `unsigned int :1` field elsewhere.
I think something like `is_definition` is also more appropriate for an object property. Same below.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/5724#note_71398
We'll want to keep both copies of `merge_devmode()` in sync, so please combine these two commits into one.
Also, the subject of the commit message seems to have word-wrapped - please keep it as a single line.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/5720#note_71393