diff options
-rw-r--r-- | backends/graphics/opengl/opengl-graphics.cpp | 23 |
1 files changed, 21 insertions, 2 deletions
diff --git a/backends/graphics/opengl/opengl-graphics.cpp b/backends/graphics/opengl/opengl-graphics.cpp index e2f8dd4d30..1eb90a2217 100644 --- a/backends/graphics/opengl/opengl-graphics.cpp +++ b/backends/graphics/opengl/opengl-graphics.cpp @@ -596,7 +596,26 @@ void OpenGLGraphicsManager::disableCursorPalette(bool disable) { // void OpenGLGraphicsManager::displayMessageOnOSD(const char *msg) { - assert (_transactionMode == kTransactionNone); + // TODO: Fix OSD support. + // + // Actually we have nice OSD support for the OpenGL backend, but + // since the OpenGL context/resources are not shared between threads we + // can not use this here. + // + // A possible way of making the code crash hard is to use the MT-32 emu. + // Whenever there is some message send to the OSD from the emulator's + // sound thread the glBindTexture call inside _osdTexture->updateBuffer + // will result in a crash. + // + // To try it out just uncomment the below code and start up any game which + // prints some info on the MT-32 display. Whenever the message should be + // displayed it will crash hard. + // + // We can not even use a GUI dialog here, since that would also result in + // an change of the overlay surface and thus result in the same problem + // just in another place. + warning("OpenGL: OSD messsage \"%s\" suppressed", msg); + /*assert(_transactionMode == kTransactionNone); assert(msg); // The font we are going to use: @@ -661,7 +680,7 @@ void OpenGLGraphicsManager::displayMessageOnOSD(const char *msg) { // Init the OSD display parameters, and the fade out _osdAlpha = kOSDInitialAlpha; - _osdFadeStartTime = g_system->getMillis() + kOSDFadeOutDelay; + _osdFadeStartTime = g_system->getMillis() + kOSDFadeOutDelay;*/ } // |