create_dest_file was unaware of the `FILE_SHARE_READ | FILE_SHARE_DELETE` share mode that these SessionMgr entries are opened with. This avoids noisy `(error=80)` messages during prefix creation/update.
Fixes: 81ea1e7a20c9cd0698c0416282d9ad7c0109e865
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/7705
This implements handling of HTTP status code 308 ([Permanant Redirect](https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Statu…) in wininet/winhttp. I added handling at all places I could find, but could only test the one in `dlls/wininet/http.c` with the program where it failed (Marvel Heroes).
I tried to keep the implementation parallel to 307, since they serve a similar purpose (redirect while keeping the request intact).
PS: `case` labels are sometimes in different order, would it be a good idea to sort them in numerical HTTP status order while I'm at it?
--
v2: urlmon: Handle HTTP status code 308 (Permanent Redirect)
winhttp: Handle HTTP status code 308 (Permanent Redirect)
wininet: Handle HTTP status code 308 (Permanent Redirect)
https://gitlab.winehq.org/wine/wine/-/merge_requests/7735
This serie mainly moves line information for top level function
(not including the inlined parts) into the new PDB reader.
In details:
- cleaning up current internal private structure for line information
(in order to share it with PDB backend)
- introduce methods to get line info from address, move to next/prev
location, enumeration of line numbers and source files.
Note for source files enumeration:
- current implementation still needs some more fixes (no full scoping,
but that's unrelated to PDB rewrite)
- fixes by module scoping
- it still uses the global source hash table (as there isn't one
in PDB). No plan to improve that for now.
--
v2: dbghelp: No longer store line information from old PDB reader.
dbghelp: Add method to enumerate source files.
dbghelp: Introduce method to enumerate line numbers.
dbghelp: Introduce method to get next/prev line information.
dbghelp: Introduce interface for line info access.
dbghelp: Always copy the source file string.
dbghelp: Rename struct internal_line into lineinfo.
https://gitlab.winehq.org/wine/wine/-/merge_requests/7698
This implements handling of HTTP status code 308 ([Permanant Redirect](https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Statu…) in wininet/winhttp. I added handling at all places I could find, but could only test the one in `dlls/wininet/http.c` with the program where it failed (Marvel Heroes).
I tried to keep the implementation parallel to 307, since they serve a similar purpose (redirect while keeping the request intact).
PS: `case` labels are sometimes in different order, would it be a good idea to sort them in numerical HTTP status order while I'm at it?
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/7735
Sending key events through `-[NSTextInputContext handleEvent:]`, as we do in `macdrv_send_text_input_event`, results in doubled characters for certain macOS input sources. The Romaji source does this reliably, as do certain third-party sources. (The built-in dictation does it as well, but we already blacklist that - !5660 - because it remains "active" even when it's not.)
I can't find this spelled out directly, but if you read between the lines, it seems clear that you're only supposed to send key *down* events to `-[NSTextInputContext handleEvent:]`, and not key ups. Supporting evidence:
1. [The old documentation on the text system](https://developer.apple.com/library/archive/documentation/TextFonts… only mentions `handleEvent:` being called in the context of `-keyDown:`.
2. [The guide to implementing a custom text view/NSTextInputClient](https://developer.apple.com/library/archive/documen… only mentions overriding `-keyDown:` and sending those events to `-handleEvent:`.
3. [iTerm only sends key down events to `-handleEvent:`](https://github.com/gnachman/iTerm2/blob/6134ea0a9d9d0fee5e7d7704fc98efec1fc77c24/sources/iTermKeyboardHandler.m#L355). You have to unpack the logic a bit from there, but `-handleKeyDownEvent:...` is the only method that calls `-handleEventWithCocoa:inputContext:`, which is what (usually) calls `-handleEvent:` on the `inputContext`.
4. [The InputMethodKit method on the IMKServerInput protocol to handle NSEvents directly](https://developer.apple.com/documentation/objectivec/nsobject/138… only mentions getting key down events.
So presumably input source authors sometimes do not check the type of the NSEvent they're receiving and process all key events equally, be they downs or ups.
This change fixes doubled input with Romaji and the problematic third-party method we've encountered.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/7701
This serie mainly moves line information for top level function
(not including the inlined parts) into the new PDB reader.
In details:
- cleaning up current internal private structure for line information
(in order to share it with PDB backend)
- introduce methods to get line info from address, move to next/prev
location, enumeration of line numbers and source files.
Note for source files enumeration:
- current implementation still needs some more fixes (no full scoping,
but that's unrelated to PDB rewrite)
- fixes by module scoping
- it still uses the global source hash table (as there isn't one
in PDB). No plan to improve that for now.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/7698