Not checking nice_limit here can result in some calls to setpriority()
succeeding while others fail, which can result in relative priorities
being incorrect. For example, buffer underflows can occur in
winepulse.drv because the priority is too low in pulse_timer_loop().
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/7809
If CompStrAttr and CompStrClause are properly configured, Japanese input
will be more comfortable.
Inspired by cursor_begin and cursor_end from Wayland zwp_text_input_v3
preedit_string, I extended the cursor_pos concept as follows:
cursor_pos = MAKELONG( cursor_begin, cursor_end );
ime_to_tascii_ex() uses this to construct CompStrAttr, CompStrClause.
MS Windows native CompStrAttr, CompStrClause is a bit more complicated
than this, but the concept is useful enough.
It requires additional implementation in the Wine ime_ui_window proc and
richedit control. However, it is useful for applications that inline ime
composition string.
This can be tested with MS Office Word, Excel. LANG=ja_JP.UTF-8 wine EXCEL.EXE
Test key sequences:
- “n-i-h-o-n-g-o-n-o-m-o-j-i-d-e-s-u-.-SPACE”.
- And, RIGHT, LEFT, Shift+LEFT, Shift+RIGHT, SPACE, UP, DOWN, ESC, etc.
--
v2: winex11: Update only when caret pos changed in xic_preedit_caret.
https://gitlab.winehq.org/wine/wine/-/merge_requests/7812
If CompStrAttr and CompStrClause are properly configured, Japanese input
will be more comfortable.
Inspired by cursor_begin and cursor_end from Wayland zwp_text_input_v3
preedit_string, I extended the cursor_pos concept as follows:
cursor_pos = MAKELONG( cursor_begin, cursor_end );
ime_to_tascii_ex() uses this to construct CompStrAttr, CompStrClause.
MS Windows native CompStrAttr, CompStrClause is a bit more complicated
than this, but the concept is useful enough.
It requires additional implementation in the Wine ime_ui_window proc and
richedit control. However, it is useful for applications that inline ime
composition string.
This can be tested with MS Office Word, Excel. LANG=ja_JP.UTF-8 wine EXCEL.EXE
Test key sequences:
- “n-i-h-o-n-g-o-n-o-m-o-j-i-d-e-s-u-.-SPACE”.
- And, RIGHT, LEFT, Shift+LEFT, Shift+RIGHT, SPACE, UP, DOWN, ESC, etc.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/7812
SchedulerPolicy_SetPolicyValue(ContextPriority, THREAD_PRIORITY_BELOW_NORMAL)
would erroneously throw an exception because THREAD_PRIORITY_BELOW_NORMAL == -1
and -1 > 6 when compared as unsigned.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/7804
This serie starts moving type handling into PDB backend.
In order to handle both the existing symt_{*} structures for
every debug info objects and their potential counterpart
inside a debug info backend, we introduce an opaque symref_t
which can either hold a pointer or a value dedicated to a
debug backend.
This allows:
- to have generic code handling transparently a debug info
object (whether it's managed as a symt_{*} object, or
as a reference in backend)
- during the migration phase from old to new PDB backend,
to select, by type of object, whether it's handled by
old or new backend, hence allowing a migration scheme
by type of object.
This series mainly introduces the symref_t instead of
the existing pointer to symt_{*}.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/7811