X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=video_widget.cpp;h=5d706ac3f55051080dd9b9bfbac97e0fb53b72a6;hb=5cbfa6034ad0dea57830bc74aeba1d84cf90bad9;hp=0bd910ce29f826e86e62629ad609158ca72e09a1;hpb=a99f0e230c64ab728c9a83008b89e77893809c1f;p=pkanalytics diff --git a/video_widget.cpp b/video_widget.cpp index 0bd910c..5d706ac 100644 --- a/video_widget.cpp +++ b/video_widget.cpp @@ -249,6 +249,16 @@ VideoWidget::VideoWidget(QWidget *parent) connect(video_window, &VideoWindow::mouse_moved, this, &VideoWidget::mouseMoveEvent); } +VideoWidget::~VideoWidget() +{ + stop(); + + // Qt will delete video_window for us after we're gone, + // so make sure its destructor does not try to mess with + // our freelist. The actual freelist frames will leak. + video_window->set_current_frame(nullptr); +} + GLuint compile_shader(const string &shader_src, GLenum type) { GLuint obj = glCreateShader(type);