[ros-diffs] [tretiakov] 25830: Patch by Andrey Janzen (virus126). Fix copy\paste bug in calc.

tretiakov at svn.reactos.org tretiakov at svn.reactos.org
Sat Feb 17 16:33:57 CET 2007


Author: tretiakov
Date: Sat Feb 17 18:33:57 2007
New Revision: 25830

URL: http://svn.reactos.org/svn/reactos?rev=25830&view=rev
Log:
Patch by Andrey Janzen (virus126).
Fix copy\paste bug in calc.


Modified:
    trunk/reactos/base/applications/calc/winecalc.c
    trunk/reactos/base/applications/calc/winecalc.h

Modified: trunk/reactos/base/applications/calc/winecalc.c
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/calc/winecalc.c?rev=25830&r1=25829&r2=25830&view=diff
==============================================================================
--- trunk/reactos/base/applications/calc/winecalc.c (original)
+++ trunk/reactos/base/applications/calc/winecalc.c Sat Feb 17 18:33:57 2007
@@ -476,18 +476,23 @@
                 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 @@
                 if (!EmptyClipboard())
                     return 0;
 
-                if (!SetClipboardData(CF_TEXT, hGlobalMemory))
+                if (!SetClipboardData(CF_TTEXT, hGlobalMemory))
                     return 0;
 
                 if (!CloseClipboard())
@@ -514,11 +519,11 @@
                 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)))

Modified: trunk/reactos/base/applications/calc/winecalc.h
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/calc/winecalc.h?rev=25830&r1=25829&r2=25830&view=diff
==============================================================================
--- trunk/reactos/base/applications/calc/winecalc.h (original)
+++ trunk/reactos/base/applications/calc/winecalc.h Sat Feb 17 18:33:57 2007
@@ -19,6 +19,12 @@
  */
 
 //////////////////////////////////////////////////////////////////
+
+#ifdef UNICODE
+#define CF_TTEXT CF_UNICODETEXT
+#else
+#define CF_TTEXT CF_TEXT
+#endif
 
 // numerics are defined here for easier porting
 




More information about the Ros-diffs mailing list