<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <p>Hi,</p>
    <p>Thanks for your reviewing. great helpful to me.</p>
    <p><br>
    </p>
    <p>I submit a new patch reflecting feedback.<br
        class="Apple-interchange-newline">
    </p>
    <p><a class="moz-txt-link-freetext" href="https://www.winehq.org/pipermail/wine-devel/2022-April/212602.html">https://www.winehq.org/pipermail/wine-devel/2022-April/212602.html</a></p>
    <p><br>
    </p>
    <p>Regards.,<br>
    </p>
    <p>Alex</p>
    <div class="moz-cite-prefix">22. 4. 2. 22:57에 Akihiro Sagawa 이(가) 쓴
      글:<br>
    </div>
    <blockquote type="cite"
      cite="mid:20220402225637.ADF0.375B48EC@gmail.com">
      <pre class="moz-quote-pre" wrap="">On Thu, 31 Mar 2022 04:36:18 +0900, Alex Kwak wrote:
</pre>
      <blockquote type="cite">
        <pre class="moz-quote-pre" wrap="">IME_SetResultString function overwrite composition strings. so, next
composition is not display on GUI. but, still have an xim. Therefore,
there was a string that seemed to have disappeared in the middle of the
input.

Therefore, change it as follows. When calling IME_SetResultString, if
in a Composition state, no longer generate WM_IME_ENDCOMPOSITION and
call back the previous Composition to recover the overwritten
Composition.

Wine-Bug: <a class="moz-txt-link-freetext" href="https://bugs.winehq.org/show_bug.cgi?id=52700">https://bugs.winehq.org/show_bug.cgi?id=52700</a>
Signed-off-by: Alex Kwak <a class="moz-txt-link-rfc2396E" href="mailto:take-me-home@kakao.com"><take-me-home@kakao.com></a>
---
v2: use updateCompStr instead IME_SetResultString.
</pre>
      </blockquote>
      <pre class="moz-quote-pre" wrap="">Oops, the following implementation doesn't match with the subject.
If I were you, I'd describe what I want to resolve instead of the way.
</pre>
      <blockquote type="cite">
        <pre class="moz-quote-pre" wrap="">---
 dlls/winex11.drv/ime.c    | 21 +++++++++++++++++----
 dlls/winex11.drv/x11drv.h |  3 ++-
 dlls/winex11.drv/xim.c    |  3 ++-
 3 files changed, 21 insertions(+), 6 deletions(-)
</pre>
      </blockquote>
      <pre class="moz-quote-pre" wrap="">[...]
</pre>
      <blockquote type="cite">
        <pre class="moz-quote-pre" wrap="">diff --git a/dlls/winex11.drv/x11drv.h b/dlls/winex11.drv/x11drv.h
index f389f3e0836..ca077caa45c 100644
--- a/dlls/winex11.drv/x11drv.h
+++ b/dlls/winex11.drv/x11drv.h
@@ -290,7 +290,8 @@ extern void IME_UpdateAssociation(HWND focus) DECLSPEC_HIDDEN;
 extern BOOL IME_SetCompositionString(DWORD dwIndex, LPCVOID lpComp,
                                      DWORD dwCompLen, LPCVOID lpRead,
                                      DWORD dwReadLen) DECLSPEC_HIDDEN;
-extern void IME_SetResultString(LPWSTR lpResult, DWORD dwResultlen) DECLSPEC_HIDDEN;
+extern void IME_SetResultString(LPWSTR lpResult, DWORD dwResultLen,
+                                LPCVOID compStr, DWORD compStrLen) DECLSPEC_HIDDEN;
</pre>
      </blockquote>
      <pre class="moz-quote-pre" wrap="">Though IME_SetCompositionString() uses LPCVOID and byte unit,
I'd suggest you to use const WCHAR* for the third parameter and
WCHAR unit for the fourth one. It will avoid the type casting and
divisions in IME_SetResultString function. Moreover, it's consistent
with exisiting parameters, i.e. wcOutput's type and dwOutput's unit.

Other points look good to me. Just one more effort.

Akihiro Sagawa

</pre>
    </blockquote>
  </body>
</html>