Module: wine Branch: master Commit: 0c9c00cf2b94108d22e96d8c053c70770c59d114 URL: http://source.winehq.org/git/wine.git/?a=commit;h=0c9c00cf2b94108d22e96d8c05...
Author: Aric Stewart aric@codeweavers.com Date: Wed Aug 29 17:55:07 2007 +0900
imm: Report GCS_DELTASTART to help behavior with advanced IME aware applications.
---
dlls/imm32/imm.c | 14 +++++++++++++- 1 files changed, 13 insertions(+), 1 deletions(-)
diff --git a/dlls/imm32/imm.c b/dlls/imm32/imm.c index 2bb1a47..38ba65e 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 {