mirror of
https://github.com/reactos/reactos.git
synced 2025-02-23 17:05:46 +00:00
Patch by Andrey Janzen (virus126).
Fix copy\paste bug in calc. svn path=/trunk/; revision=25830
This commit is contained in:
parent
e565b89550
commit
4ea3e26092
2 changed files with 17 additions and 6 deletions
|
@ -476,18 +476,23 @@ LRESULT WINAPI MainProc( HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam)
|
|||
if (!(len = _tcslen(calc.display)))
|
||||
return 0;
|
||||
|
||||
if (!(s = calc.display))
|
||||
return 0;
|
||||
|
||||
if (s[len - 1] == TEXT('.') || s[len - 1] == TEXT(','))
|
||||
len--;
|
||||
|
||||
if (!(hGlobalMemory = GlobalAlloc(GHND, (len + 1) * sizeof(TCHAR))))
|
||||
return 0;
|
||||
|
||||
if (!(pGlobalMemory = GlobalLock(hGlobalMemory)))
|
||||
return 0;
|
||||
|
||||
if (!(s = calc.display))
|
||||
return 0;
|
||||
|
||||
for (i = 0; i < len; i++)
|
||||
*pGlobalMemory++ = *s++;
|
||||
|
||||
pGlobalMemory[len - 1] = 0;
|
||||
|
||||
GlobalUnlock(hGlobalMemory); // call GetLastError() for exception handling
|
||||
|
||||
if (!OpenClipboard(hWnd))
|
||||
|
@ -496,7 +501,7 @@ LRESULT WINAPI MainProc( HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam)
|
|||
if (!EmptyClipboard())
|
||||
return 0;
|
||||
|
||||
if (!SetClipboardData(CF_TEXT, hGlobalMemory))
|
||||
if (!SetClipboardData(CF_TTEXT, hGlobalMemory))
|
||||
return 0;
|
||||
|
||||
if (!CloseClipboard())
|
||||
|
@ -514,11 +519,11 @@ LRESULT WINAPI MainProc( HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam)
|
|||
HGLOBAL hGlobalMemory;
|
||||
LPTSTR pGlobalMemory;
|
||||
|
||||
if (IsClipboardFormatAvailable(CF_TEXT)) {
|
||||
if (IsClipboardFormatAvailable(CF_TTEXT)) {
|
||||
if (!OpenClipboard(hWnd))
|
||||
return 0;
|
||||
|
||||
if (!(hGlobalMemory = GetClipboardData(CF_TEXT)))
|
||||
if (!(hGlobalMemory = GetClipboardData(CF_TTEXT)))
|
||||
return 0;
|
||||
|
||||
if (!(size = GlobalSize(hGlobalMemory)))
|
||||
|
|
|
@ -20,6 +20,12 @@
|
|||
|
||||
//////////////////////////////////////////////////////////////////
|
||||
|
||||
#ifdef UNICODE
|
||||
#define CF_TTEXT CF_UNICODETEXT
|
||||
#else
|
||||
#define CF_TTEXT CF_TEXT
|
||||
#endif
|
||||
|
||||
// numerics are defined here for easier porting
|
||||
|
||||
typedef double calcfloat;
|
||||
|
|
Loading…
Reference in a new issue