From 0c9c00cf2b94108d22e96d8c053c70770c59d114 Mon Sep 17 00:00:00 2001 From: Aric Stewart Date: Wed, 29 Aug 2007 17:55:07 +0900 Subject: [PATCH] imm: Report GCS_DELTASTART to help behavior with advanced IME aware applications. --- dlls/imm32/imm.c | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/dlls/imm32/imm.c b/dlls/imm32/imm.c index 2bb1a477a4a..38ba65ea980 100644 --- a/dlls/imm32/imm.c +++ b/dlls/imm32/imm.c @@ -287,6 +287,7 @@ static HIMCC updateCompStr(HIMCC old, LPWSTR compstr, DWORD len) &new_one->dwCompReadStrOffset, TRUE); /* new CompAttr, CompClause, CompStr, dwCursorPos */ + new_one->dwDeltaStart = 0; current_offset = updateField(lpcs->dwResultReadClauseLen, lpcs->dwResultReadClauseOffset, @@ -438,6 +439,7 @@ static HIMCC updateResultStr(HIMCC old, LPWSTR resultstr, DWORD len) &new_one->dwCompStrOffset, TRUE); new_one->dwCursorPos = lpcs->dwCursorPos; + new_one->dwDeltaStart = 0; current_offset = updateField(lpcs->dwResultReadClauseLen, lpcs->dwResultReadClauseOffset, @@ -861,6 +863,11 @@ LONG WINAPI ImmGetCompositionStringA( TRACE("GSC_CURSORPOS\n"); rc = compstr->dwCursorPos; } + else if (dwIndex == GCS_DELTASTART) + { + TRACE("GCS_DELTASTART\n"); + rc = compstr->dwDeltaStart; + } else { FIXME("Unhandled index 0x%x\n",dwIndex); @@ -955,6 +962,11 @@ LONG WINAPI ImmGetCompositionStringW( TRACE("GSC_CURSORPOS\n"); rc = compstr->dwCursorPos; } + else if (dwIndex == GCS_DELTASTART) + { + TRACE("GCS_DELTASTART\n"); + rc = compstr->dwDeltaStart; + } else { FIXME("Unhandled index 0x%x\n",dwIndex); @@ -1662,7 +1674,7 @@ BOOL WINAPI ImmSetCompositionStringW( root_context->IMC.hCompStr = newCompStr; wParam = ((const WCHAR*)lpComp)[0]; - flags |= GCS_COMPCLAUSE | GCS_COMPATTR; + flags |= GCS_COMPCLAUSE | GCS_COMPATTR | GCS_DELTASTART; } else { -- 2.11.4.GIT