void VideoOutputOpenGL::CreatePainter(void) { QMutexLocker locker(&gl_context_lock); gl_created_painter = false; MythMainWindow *win = MythMainWindow::getMainWindow(); if (gl_context && !gl_context->IsShared()) { QWidget *device = QWidget::find(gl_parent_win); gl_painter = new MythOpenGLPainter(gl_context, device); if (!gl_painter) { LOG(VB_GENERAL, LOG_ERR, LOC + "Failed to create painter"); return; } gl_created_painter = true; #ifdef USE_OPENGL_QT5 if (device) device->setAttribute(Qt::WA_PaintOnScreen); #endif } else { gl_painter = (MythOpenGLPainter*)win->GetCurrentPainter(); if (!gl_painter) { LOG(VB_GENERAL, LOG_ERR, LOC + "Failed to get painter"); return; } LOG(VB_PLAYBACK, LOG_INFO, LOC + "Using main UI painter"); } gl_painter->SetSwapControl(false); }
void VideoOutputOpenGL::InitOSD(void) { QMutexLocker locker(&gl_context_lock); gl_created_painter = false; MythMainWindow *win = MythMainWindow::getMainWindow(); if (gl_context && !gl_context->IsShared()) { QGLWidget *device = (QGLWidget*)QWidget::find(gl_parent_win); gl_painter = new MythOpenGLPainter(gl_context, device); if (!gl_painter) { LOG(VB_GENERAL, LOG_ERR, LOC + "Failed to create painter"); return; } gl_created_painter = true; } else { gl_painter = (MythOpenGLPainter*)win->GetCurrentPainter(); if (!gl_painter) { LOG(VB_GENERAL, LOG_ERR, LOC + "Failed to get painter"); return; } LOG(VB_PLAYBACK, LOG_INFO, LOC + "Using main UI painter"); } gl_painter->SetSwapControl(false); }