[2.1] OgreLog debuggerOutput printed twice on Windows
Posted: Mon Jul 08, 2019 12:28 am
OgreLog.cpp contains the following code:
I'm using the QTCreator IDE on Windows 10 and this causes every line of output to be printed twice, once from OutputDebugStringW/OutputDebugStringA and a second time from cerr/cout. I haven't tested with MSVC (presumably the more popular Windows use case) but for my setup I think using cerr/cout only if (OGRE_PLATFORM == OGRE_PLATFORM_WIN32 || OGRE_PLATFORM == OGRE_PLATFORM_WINRT) is false would be better.
Also I was going to add this to the bug tracker but the link in the "Rules for papercuts" post (https://www.ogre3d.org/mantis/) is dead.
Code: Select all
if (mDebugOut && !maskDebug)
{
# if (OGRE_PLATFORM == OGRE_PLATFORM_WIN32 || OGRE_PLATFORM == OGRE_PLATFORM_WINRT) && OGRE_DEBUG_MODE
# if OGRE_WCHAR_T_STRINGS
OutputDebugStringW(message.c_str());
OutputDebugStringW(L"\n");
# else
OutputDebugStringA(message.c_str());
OutputDebugStringA("\n");
# endif
# endif
if (lml == LML_CRITICAL)
std::cerr << message << std::endl;
else
std::cout << message << std::endl;
}
Also I was going to add this to the bug tracker but the link in the "Rules for papercuts" post (https://www.ogre3d.org/mantis/) is dead.