JDK-7128344 : fix build failure caused by 7088204
  • Type: Bug
  • Component: deploy
  • Sub-Component: deployment_toolkit
  • Affected Version: 8
  • Priority: P2
  • Status: Closed
  • Resolution: Fixed
  • OS: windows_xp
  • CPU: x86
  • Submitted: 2012-01-09
  • Updated: 2013-09-18
  • Resolved: 2012-01-17
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
7u4Fixed 8 b22Fixed
fix for 7088204 causing build failure in jbroker while compiling RegCommon.cpp

../../../src/common/windows/native/RegCommon.cpp(1281) : error C2440: 'type cast' : cannot convert from 'ATL::CComBSTR' to 'TCHAR *'
         No user-defined-conversion operator available that can perform this conversion, or the operator cannot be called
../../../src/common/windows/native/RegCommon.cpp(1288) : error C2440: '=' : cannot convert from 'TCHAR [2048]' to 'LPCOLESTR'
         Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast

Build related issue

EVALUATION Since jbroker isn't being compiled in UNICODE, the typecase from _bstr_t to TCHAR * is invalid; there exists only typecase operator from _bstr_t to wchar_t* or char*. Also, there's no automatic conversion from THCAR* to LPCOLESTR. Needs to use _bstr_t wrapper.