Closed Bug 1213123 Opened 10 years ago Closed 10 years ago

WinIMEHandler.cpp(594): error C2665: 'mozilla::Preferences::SetString': none of the 2 overloads could convert all the argument types

Categories

(Core :: Widget: Win32, defect)

defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla44
Tracking Status
firefox43 --- fixed
firefox44 --- fixed

People

(Reporter: xidorn, Assigned: xidorn)

References

Details

Attachments

(1 file)

A new compiler error on VC14 today: 0:40.37 c:/mozilla-source/central/widget/windows/WinIMEHandler.cpp(594): error C2665: 'mozilla::Preferences::SetString': none of the 2 overloads could convert all the argument types 0:40.37 c:\mozilla-source\central\obj-firefox-opt\dist\include\mozilla/Preferences.h(206): note: could be 'nsresult mozilla::Preferences::SetString(const char *,const nsAString_internal &)' 0:40.37 c:\mozilla-source\central\obj-firefox-opt\dist\include\mozilla/Preferences.h(205): note: or 'nsresult mozilla::Preferences::SetString(const char *,const char16_t *)' 0:40.39 c:/mozilla-source/central/widget/windows/WinIMEHandler.cpp(594): note: while trying to match the argument list '(const char *, const wchar_t [23])' 0:40.39 c:/mozilla-source/central/widget/windows/WinIMEHandler.cpp(599): error C2665: 'mozilla::Preferences::SetString': none of the 2 overloads could convert all the argument types 0:40.39 c:\mozilla-source\central\obj-firefox-opt\dist\include\mozilla/Preferences.h(206): note: could be 'nsresult mozilla::Preferences::SetString(const char *,const nsAString_internal &)' 0:40.40 c:\mozilla-source\central\obj-firefox-opt\dist\include\mozilla/Preferences.h(205): note: or 'nsresult mozilla::Preferences::SetString(const char *,const char16_t *)' 0:40.41 c:/mozilla-source/central/widget/windows/WinIMEHandler.cpp(599): note: while trying to match the argument list '(const char *, const wchar_t [27])' 0:40.41 c:/mozilla-source/central/widget/windows/WinIMEHandler.cpp(607): error C2665: 'mozilla::Preferences::SetString': none of the 2 overloads could convert all the argument types 0:40.42 c:\mozilla-source\central\obj-firefox-opt\dist\include\mozilla/Preferences.h(206): note: could be 'nsresult mozilla::Preferences::SetString(const char *,const nsAString_internal &)' 0:40.42 c:\mozilla-source\central\obj-firefox-opt\dist\include\mozilla/Preferences.h(205): note: or 'nsresult mozilla::Preferences::SetString(const char *,const char16_t *)' 0:40.43 c:/mozilla-source/central/widget/windows/WinIMEHandler.cpp(607): note: while trying to match the argument list '(const char *, const wchar_t [31])' 0:40.43 c:/mozilla-source/central/widget/windows/WinIMEHandler.cpp(613): error C2665: 'mozilla::Preferences::SetString': none of the 2 overloads could convert all the argument types 0:40.44 c:\mozilla-source\central\obj-firefox-opt\dist\include\mozilla/Preferences.h(206): note: could be 'nsresult mozilla::Preferences::SetString(const char *,const nsAString_internal &)' 0:40.44 c:\mozilla-source\central\obj-firefox-opt\dist\include\mozilla/Preferences.h(205): note: or 'nsresult mozilla::Preferences::SetString(const char *,const char16_t *)' 0:40.45 c:/mozilla-source/central/widget/windows/WinIMEHandler.cpp(613): note: while trying to match the argument list '(const char *, const wchar_t [22])' 0:40.46 c:/mozilla-source/central/widget/windows/WinIMEHandler.cpp(645): error C2665: 'mozilla::Preferences::SetString': none of the 2 overloads could convert all the argument types 0:40.46 c:\mozilla-source\central\obj-firefox-opt\dist\include\mozilla/Preferences.h(206): note: could be 'nsresult mozilla::Preferences::SetString(const char *,const nsAString_internal &)' 0:40.46 c:\mozilla-source\central\obj-firefox-opt\dist\include\mozilla/Preferences.h(205): note: or 'nsresult mozilla::Preferences::SetString(const char *,const char16_t *)' 0:40.48 c:/mozilla-source/central/widget/windows/WinIMEHandler.cpp(645): note: while trying to match the argument list '(const char *, const wchar_t [34])' 0:40.48 c:/mozilla-source/central/widget/windows/WinIMEHandler.cpp(649): error C2665: 'mozilla::Preferences::SetString': none of the 2 overloads could convert all the argument types 0:40.49 c:\mozilla-source\central\obj-firefox-opt\dist\include\mozilla/Preferences.h(206): note: could be 'nsresult mozilla::Preferences::SetString(const char *,const nsAString_internal &)' 0:40.49 c:\mozilla-source\central\obj-firefox-opt\dist\include\mozilla/Preferences.h(205): note: or 'nsresult mozilla::Preferences::SetString(const char *,const char16_t *)' 0:40.50 c:/mozilla-source/central/widget/windows/WinIMEHandler.cpp(649): note: while trying to match the argument list '(const char *, const wchar_t [36])' 0:40.50 c:/mozilla-source/central/widget/windows/WinIMEHandler.cpp(667): error C2665: 'mozilla::Preferences::SetString': none of the 2 overloads could convert all the argument types 0:40.51 c:\mozilla-source\central\obj-firefox-opt\dist\include\mozilla/Preferences.h(206): note: could be 'nsresult mozilla::Preferences::SetString(const char *,const nsAString_internal &)' 0:40.51 c:\mozilla-source\central\obj-firefox-opt\dist\include\mozilla/Preferences.h(205): note: or 'nsresult mozilla::Preferences::SetString(const char *,const char16_t *)' 0:40.52 c:/mozilla-source/central/widget/windows/WinIMEHandler.cpp(667): note: while trying to match the argument list '(const char *, const wchar_t [27])' 0:40.52 c:/mozilla-source/central/widget/windows/WinIMEHandler.cpp(669): error C2665: 'mozilla::Preferences::SetString': none of the 2 overloads could convert all the argument types 0:40.53 c:\mozilla-source\central\obj-firefox-opt\dist\include\mozilla/Preferences.h(206): note: could be 'nsresult mozilla::Preferences::SetString(const char *,const nsAString_internal &)' 0:40.53 c:\mozilla-source\central\obj-firefox-opt\dist\include\mozilla/Preferences.h(205): note: or 'nsresult mozilla::Preferences::SetString(const char *,const char16_t *)' 0:40.55 c:/mozilla-source/central/widget/windows/WinIMEHandler.cpp(669): note: while trying to match the argument list '(const char *, const wchar_t [26])' 0:40.55 c:/mozilla-source/central/widget/windows/WinIMEHandler.cpp(684): error C2665: 'mozilla::Preferences::SetString': none of the 2 overloads could convert all the argument types 0:40.55 c:\mozilla-source\central\obj-firefox-opt\dist\include\mozilla/Preferences.h(206): note: could be 'nsresult mozilla::Preferences::SetString(const char *,const nsAString_internal &)' 0:40.56 c:\mozilla-source\central\obj-firefox-opt\dist\include\mozilla/Preferences.h(205): note: or 'nsresult mozilla::Preferences::SetString(const char *,const char16_t *)' 0:40.57 c:/mozilla-source/central/widget/windows/WinIMEHandler.cpp(684): note: while trying to match the argument list '(const char *, const wchar_t [25])' 0:40.57 c:/mozilla-source/central/widget/windows/WinIMEHandler.cpp(716): error C2665: 'mozilla::Preferences::SetString': none of the 2 overloads could convert all the argument types 0:40.58 c:\mozilla-source\central\obj-firefox-opt\dist\include\mozilla/Preferences.h(206): note: could be 'nsresult mozilla::Preferences::SetString(const char *,const nsAString_internal &)' 0:40.58 c:\mozilla-source\central\obj-firefox-opt\dist\include\mozilla/Preferences.h(205): note: or 'nsresult mozilla::Preferences::SetString(const char *,const char16_t *)' 0:40.59 c:/mozilla-source/central/widget/windows/WinIMEHandler.cpp(716): note: while trying to match the argument list '(const char *, const wchar_t [36])' 0:40.59 c:/mozilla-source/central/widget/windows/WinIMEHandler.cpp(722): error C2665: 'mozilla::Preferences::SetString': none of the 2 overloads could convert all the argument types 0:40.60 c:\mozilla-source\central\obj-firefox-opt\dist\include\mozilla/Preferences.h(206): note: could be 'nsresult mozilla::Preferences::SetString(const char *,const nsAString_internal &)' 0:40.60 c:\mozilla-source\central\obj-firefox-opt\dist\include\mozilla/Preferences.h(205): note: or 'nsresult mozilla::Preferences::SetString(const char *,const char16_t *)' 0:40.62 c:/mozilla-source/central/widget/windows/WinIMEHandler.cpp(722): note: while trying to match the argument list '(const char *, const wchar_t [35])' 0:40.62 c:/mozilla-source/central/widget/windows/WinIMEHandler.cpp(734): error C2665: 'mozilla::Preferences::SetString': none of the 2 overloads could convert all the argument types 0:40.63 c:\mozilla-source\central\obj-firefox-opt\dist\include\mozilla/Preferences.h(206): note: could be 'nsresult mozilla::Preferences::SetString(const char *,const nsAString_internal &)' 0:40.63 c:\mozilla-source\central\obj-firefox-opt\dist\include\mozilla/Preferences.h(205): note: or 'nsresult mozilla::Preferences::SetString(const char *,const char16_t *)' 0:40.64 c:/mozilla-source/central/widget/windows/WinIMEHandler.cpp(734): note: while trying to match the argument list '(const char *, const wchar_t [39])' 0:40.64 c:/mozilla-source/central/widget/windows/WinIMEHandler.cpp(740): error C2665: 'mozilla::Preferences::SetString': none of the 2 overloads could convert all the argument types 0:40.65 c:\mozilla-source\central\obj-firefox-opt\dist\include\mozilla/Preferences.h(206): note: could be 'nsresult mozilla::Preferences::SetString(const char *,const nsAString_internal &)' 0:40.65 c:\mozilla-source\central\obj-firefox-opt\dist\include\mozilla/Preferences.h(205): note: or 'nsresult mozilla::Preferences::SetString(const char *,const char16_t *)' 0:40.67 c:/mozilla-source/central/widget/windows/WinIMEHandler.cpp(740): note: while trying to match the argument list '(const char *, const wchar_t [28])' 0:40.67 c:/mozilla-source/central/widget/windows/WinIMEHandler.cpp(742): error C2665: 'mozilla::Preferences::SetString': none of the 2 overloads could convert all the argument types 0:40.67 c:\mozilla-source\central\obj-firefox-opt\dist\include\mozilla/Preferences.h(206): note: could be 'nsresult mozilla::Preferences::SetString(const char *,const nsAString_internal &)' 0:40.67 c:\mozilla-source\central\obj-firefox-opt\dist\include\mozilla/Preferences.h(205): note: or 'nsresult mozilla::Preferences::SetString(const char *,const char16_t *)' 0:40.69 c:/mozilla-source/central/widget/windows/WinIMEHandler.cpp(742): note: while trying to match the argument list '(const char *, const wchar_t [29])' 0:40.69 c:/mozilla-source/central/widget/windows/WinIMEHandler.cpp(756): error C2665: 'mozilla::Preferences::SetString': none of the 2 overloads could convert all the argument types 0:40.69 c:\mozilla-source\central\obj-firefox-opt\dist\include\mozilla/Preferences.h(206): note: could be 'nsresult mozilla::Preferences::SetString(const char *,const nsAString_internal &)' 0:40.69 c:\mozilla-source\central\obj-firefox-opt\dist\include\mozilla/Preferences.h(205): note: or 'nsresult mozilla::Preferences::SetString(const char *,const char16_t *)' 0:40.71 c:/mozilla-source/central/widget/windows/WinIMEHandler.cpp(756): note: while trying to match the argument list '(const char *, const wchar_t [41])' 0:40.71 c:/mozilla-source/central/widget/windows/WinIMEHandler.cpp(764): error C2665: 'mozilla::Preferences::SetString': none of the 2 overloads could convert all the argument types 0:40.71 c:\mozilla-source\central\obj-firefox-opt\dist\include\mozilla/Preferences.h(206): note: could be 'nsresult mozilla::Preferences::SetString(const char *,const nsAString_internal &)' 0:40.71 c:\mozilla-source\central\obj-firefox-opt\dist\include\mozilla/Preferences.h(205): note: or 'nsresult mozilla::Preferences::SetString(const char *,const char16_t *)' 0:40.73 c:/mozilla-source/central/widget/windows/WinIMEHandler.cpp(764): note: while trying to match the argument list '(const char *, const wchar_t [33])' 0:40.73 c:/mozilla-source/central/widget/windows/WinIMEHandler.cpp(776): error C2665: 'mozilla::Preferences::SetString': none of the 2 overloads could convert all the argument types 0:40.73 c:\mozilla-source\central\obj-firefox-opt\dist\include\mozilla/Preferences.h(206): note: could be 'nsresult mozilla::Preferences::SetString(const char *,const nsAString_internal &)' 0:40.74 c:\mozilla-source\central\obj-firefox-opt\dist\include\mozilla/Preferences.h(205): note: or 'nsresult mozilla::Preferences::SetString(const char *,const char16_t *)' 0:40.75 c:/mozilla-source/central/widget/windows/WinIMEHandler.cpp(776): note: while trying to match the argument list '(const char *, const wchar_t [42])' 0:40.75 c:/mozilla-source/central/widget/windows/WinIMEHandler.cpp(780): error C2665: 'mozilla::Preferences::SetString': none of the 2 overloads could convert all the argument types 0:40.75 c:\mozilla-source\central\obj-firefox-opt\dist\include\mozilla/Preferences.h(206): note: could be 'nsresult mozilla::Preferences::SetString(const char *,const nsAString_internal &)' 0:40.75 c:\mozilla-source\central\obj-firefox-opt\dist\include\mozilla/Preferences.h(205): note: or 'nsresult mozilla::Preferences::SetString(const char *,const char16_t *)' 0:40.76 c:/mozilla-source/central/widget/windows/WinIMEHandler.cpp(780): note: while trying to match the argument list '(const char *, const wchar_t [29])' 0:40.77 c:/mozilla-source/central/widget/windows/WinIMEHandler.cpp(782): error C2665: 'mozilla::Unified_cpp_dom_media_wave0.cpp 0:40.77 dom_media_wave.lib.desc 0:40.77 mozSpellI18NManager.obj 0:40.78 Preferences::SetString': none of the 2 overloads could convert all the argument types 0:40.78 c:\mozilla-source\central\obj-firefox-opt\dist\include\mozilla/Preferences.h(206): note: could be 'nsresult mozilla::Preferences::SetString(const char *,const nsAString_internal &)' 0:40.79 c:\mozilla-source\central\obj-firefox-opt\dist\include\mozilla/Preferences.h(205): note: or 'nsresult mozilla::Preferences::SetString(const char *,const char16_t *)' 0:40.79 c:/mozilla-source/central/widget/windows/WinIMEHandler.cpp(782): note: while trying to match the argument list '(const char *, const wchar_t [30])' 0:40.80
Assignee: nobody → quanxunzhen
Bug 1213123 - Make Preferences::SetString accept char16ptr_t instead of char16_t*.
Attachment #8671702 - Flags: review?(nfroyd)
I guess we can either do this, or convert all L"" literals there to use MOZ_UTF16() instead, because it isn't really necessary to use wchar_t* for those call. I think this way is easier, though.
See patch in Bug 1213246 too.
Attachment #8671702 - Flags: review?(nfroyd) → review+
Comment on attachment 8671702 [details] MozReview Request: Bug 1213123 - Make Preferences::SetString accept char16ptr_t instead of char16_t*. https://reviewboard.mozilla.org/r/21635/#review19473 ::: modules/libpref/Preferences.h:205 (Diff revision 1) > - static nsresult SetString(const char* aPref, const char16_t* aValue); > + static nsresult SetString(const char* aPref, const char16ptr_t aValue); Would you please add #include "mozilla/Char16.h" to this file to ensure that we're not depending on the definition of char16ptr_t from someplace else?
(In reply to Stefan Sitter from comment #4) > See patch in Bug 1213246 too. Yeah, that's the alternative way I mentioned in comment 2.
(In reply to Nathan Froyd [:froydnj] from comment #5) > Would you please add #include "mozilla/Char16.h" to this file to ensure that > we're not depending on the definition of char16ptr_t from someplace else? Char16.h is always included (although the comment is a bit outdated). https://hg.mozilla.org/mozilla-central/annotate/c00e93135684//mozilla-config.h.in#l40 We don't have to include it manually.
https://hg.mozilla.org/integration/mozilla-inbound/rev/68d87fe56792fe3437ead0a5f3a0adcc9cd5f9b7 Bug 1213123 - Make Preferences::SetString accept char16ptr_t instead of char16_t*. r=froydnj
Status: NEW → RESOLVED
Closed: 10 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla44
Comment on attachment 8671702 [details] MozReview Request: Bug 1213123 - Make Preferences::SetString accept char16ptr_t instead of char16_t*. Approval Request Comment [Feature/regressing bug #]: follow-up to bug 1210033 [User impact if declined]: some developers will have trouble building firefox 43 [Describe test coverage new/current, TreeHerder]: build failure if not present on some systems [Risks and why]: none [String/UUID change made/needed]: none
Attachment #8671702 - Flags: approval-mozilla-aurora?
Comment on attachment 8671702 [details] MozReview Request: Bug 1213123 - Make Preferences::SetString accept char16ptr_t instead of char16_t*. This is necessary to get on-screen keyboard for Win8 working. OK to uplift to aurora.
Attachment #8671702 - Flags: approval-mozilla-aurora? → approval-mozilla-aurora+
Marking as affected for 43. Probably older versions are affected but it doesn't seem relevant since we're aiming these changes at the 43 release.
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: