fixed a bunch of multithreaded loading issues and #174

This commit is contained in:
itsmattkc
2018-12-20 23:20:00 +11:00
parent 4de524e7fa
commit 9797a3bf4b
16 changed files with 82 additions and 51 deletions
+3 -1
View File
@@ -12,6 +12,8 @@
#include <QWidget>
#include <QPainter>
#include "debug.h"
CollapsibleWidget::CollapsibleWidget(QWidget* parent) : QWidget(parent) {
selected = false;
@@ -48,7 +50,7 @@ void CollapsibleWidget::header_click(bool s, bool deselect) {
selected = s;
title_bar->selected = s;
if (s) {
QPalette p = palette();
QPalette p = title_bar->palette();
p.setColor(QPalette::Background, QColor(255, 255, 255, 64));
title_bar->setPalette(p);
} else {
+2 -2
View File
@@ -1237,7 +1237,7 @@ void TimelineWidget::update_ghosts(const QPoint& mouse_pos, bool lock_frame) {
if (g.clip != -1) c = sequence->clips.at(g.clip);
FootageStream* ms = NULL;
if (g.clip != -1 && c->media->get_type() == MEDIA_TYPE_FOOTAGE) {
if (g.clip != -1 && c->media != NULL && c->media->get_type() == MEDIA_TYPE_FOOTAGE) {
ms = c->media->to_footage()->get_stream_from_file_index(c->track < 0, c->media_stream);
}
@@ -1277,7 +1277,7 @@ void TimelineWidget::update_ghosts(const QPoint& mouse_pos, bool lock_frame) {
if (validator < 1) frame_diff += (1 - validator);
// prevent clip length exceeding media length
if (c->media->get_type() == MEDIA_TYPE_SEQUENCE
if ((c->media != NULL && c->media->get_type() == MEDIA_TYPE_SEQUENCE)
|| (ms != NULL && !ms->infinite_length)) {
validator = g.old_clip_in + g.ghost_length + frame_diff;
if (validator > g.media_length) frame_diff -= validator - g.media_length;
+1 -1
View File
@@ -67,7 +67,7 @@ ViewerWidget::ViewerWidget(QWidget *parent) :
void ViewerWidget::delete_function() {
// destroy all textures as well
if (viewer->seq != NULL) {
if (viewer->seq != NULL) {
makeCurrent();
closeActiveClips(viewer->seq, true);
doneCurrent();