Fix one remaining misuse of FX_WSTRC on FX_WCHAR* vars.
authorBruce Dawson <brucedawson@google.com>
Mon, 5 Jan 2015 19:45:45 +0000 (11:45 -0800)
committerBruce Dawson <brucedawson@google.com>
Mon, 5 Jan 2015 19:45:45 +0000 (11:45 -0800)
FX_WSTRC is only valid on arrays, not pointers. In this code it was
being passed a pointer to a URL. This was found when integrating a
change to FX_WSTRC that disallows pointer arguments.

The consequence of this bug is that the URL will end up with incorrect
lengths. It will be one character long in 32-bit builds, and three
characters long in 64-bit builds (sizeof(WCHAR*)-1).

R=bo_xu@foxitsoftware.com

Review URL: https://codereview.chromium.org/831293002

xfa/src/fxfa/src/app/xfa_fftext.cpp

index 8b90a18..eed50b5 100644 (file)
@@ -141,7 +141,7 @@ FX_BOOL CXFA_FFText::OnLButtonUp(FX_DWORD dwFlags, FX_FLOAT fx, FX_FLOAT fy)
         return FALSE;\r
     }\r
     CXFA_FFDoc* pDoc = GetDoc();\r
-    pDoc->GetDocProvider()->GotoURL((XFA_HDOC)pDoc, FX_WSTRC(wsURLContent), FALSE);\r
+    pDoc->GetDocProvider()->GotoURL((XFA_HDOC)pDoc, CFX_WideStringC(wsURLContent), FALSE);\r
     return TRUE;\r
 }\r
 FX_DWORD CXFA_FFText::OnHitTest(FX_FLOAT fx, FX_FLOAT fy)\r