}
glDeleteBuffers(1, &pbo);
check_error();
+ ui->display->shutdown();
if (resource_pool != nullptr) {
resource_pool->clean_context();
}
GLWidget::~GLWidget()
{
- global_mixer->remove_frame_ready_callback(output, this);
}
-void GLWidget::clean_context()
+void GLWidget::shutdown()
{
if (resource_pool != nullptr) {
makeCurrent();
resource_pool->clean_context();
}
+ global_mixer->remove_frame_ready_callback(output, this);
}
void GLWidget::initializeGL()
this->output = output;
}
- void clean_context();
+ void shutdown();
protected:
void initializeGL() override;
void MainWindow::mixer_shutting_down()
{
- ui->me_live->clean_context();
- ui->me_preview->clean_context();
+ ui->me_live->shutdown();
+ ui->me_preview->shutdown();
+
for (Ui::Display *display : previews) {
- display->display->clean_context();
+ display->display->shutdown();
}
+
+ analyzer.reset();
}
void MainWindow::cut_triggered()