According to the QWGLNativeContext documentation and some online examples, I set up this little function to try and initialize a QOpenGLContext from an existing and already initialized SDL2 context:
void QtHooks::initQtOpenGlContext(SDL_Window *screen)
{
assert(screen);
QOpenGLContext *context = new QOpenGLContext;
SDL_SysWMinfo sysInfo;
SDL_VERSION(&sysInfo.version);
SDL_GetWindowWMInfo(screen, &sysInfo);
HGLRC currentContext = wglGetCurrentContext();
HWND currentWindow = sysInfo.info.win.window;
assert(currentContext);
assert(currentWindow);
QWGLNativeContext nativeContext(currentContext, currentWindow);
context->setNativeHandle(QVariant::fromValue(nativeContext));
assert(qtContext->isValid()); // <<-- this line always fails
context->create(); // if i remove the previous assert, this line kills the application very badly
}
This little example always fails in the last two lines. Am I missing something?