author | Tim Abraldes <tabraldes@mozilla.com> |
Tue, 24 Jul 2012 10:04:03 -0700 | |
changeset 100311 | f72108b85036e6772e1fb58817aea0141c6bae3e |
parent 100310 | 3ff93386d03f590581cbe06ac3defe58e7f78404 |
child 100312 | 95992c6312e341357d94cb4638decb0a3d53fb3f |
push id | 23175 |
push user | emorley@mozilla.com |
push date | Wed, 25 Jul 2012 15:03:49 +0000 |
treeherder | mozilla-central@75d16b99e8ab [default view] [failures only] |
perfherder | [talos] [build metrics] [platform microbench] (compared to previous push) |
reviewers | jimm |
bugs | 762310 |
milestone | 17.0a1 |
first release with | nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
|
last release without | nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
|
--- a/browser/app/nsBrowserApp.cpp +++ b/browser/app/nsBrowserApp.cpp @@ -38,22 +38,36 @@ #include "mozilla/Telemetry.h" static void Output(const char *fmt, ... ) { va_list ap; va_start(ap, fmt); -#if defined(XP_WIN) && !MOZ_WINCONSOLE - PRUnichar msg[2048]; - _vsnwprintf(msg, sizeof(msg)/sizeof(msg[0]), NS_ConvertUTF8toUTF16(fmt).get(), ap); - MessageBoxW(NULL, msg, L"XULRunner", MB_OK | MB_ICONERROR); +#ifndef XP_WIN + vfprintf(stderr, fmt, ap); #else - vfprintf(stderr, fmt, ap); + char msg[2048]; + vsnprintf_s(msg, _countof(msg), _TRUNCATE, fmt, ap); + + wchar_t wide_msg[2048]; + MultiByteToWideChar(CP_UTF8, + 0, + msg, + -1, + wide_msg, + _countof(wide_msg)); +#if MOZ_WINCONSOLE + fwprintf_s(stderr, wide_msg); +#else + MessageBoxW(NULL, wide_msg, L"Firefox", MB_OK + | MB_ICONERROR + | MB_SETFOREGROUND); +#endif #endif va_end(ap); } /** * Return true if |arg| matches the given argument name. */