From 600c9bbe6b0d9c8449823ed8777132b01b11ba69 Mon Sep 17 00:00:00 2001 From: Thomas Wilshaw Date: Wed, 14 Apr 2021 17:38:45 +0100 Subject: [PATCH 1/5] viewer: Safely delete full screen widget Hide the full screen widget and then use deleteLater() rather than delete. Fixes #1571 --- app/widget/viewer/viewer.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/app/widget/viewer/viewer.cpp b/app/widget/viewer/viewer.cpp index 2a236c55f..388d3347e 100644 --- a/app/widget/viewer/viewer.cpp +++ b/app/widget/viewer/viewer.cpp @@ -322,7 +322,9 @@ void ViewerWidget::SetFullScreen(QScreen *screen) } if (windows_.contains(screen)) { - delete windows_.take(screen); + ViewerWindow* vw = windows_.take(screen); + vw->hide(); + vw->deleteLater(); return; } From 837ab00ec5d9200ba7f58d44729e0fdd50d36d40 Mon Sep 17 00:00:00 2001 From: Thomas Wilshaw Date: Thu, 15 Apr 2021 20:17:29 +0100 Subject: [PATCH 2/5] TimelineWidget: catch hand tool double click The hand tool does not inherit from TimelineTool (it is a special program wide tool) so tools_[olive::Tool::kHand] is a nullptr. Therefore when ViewMouseDoubleClicked is called we check if the hand tool is selected and simply return if it is. Fixes #1577 --- app/widget/timelinewidget/timelinewidget.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/app/widget/timelinewidget/timelinewidget.cpp b/app/widget/timelinewidget/timelinewidget.cpp index 520a21c5e..a78fa96ac 100644 --- a/app/widget/timelinewidget/timelinewidget.cpp +++ b/app/widget/timelinewidget/timelinewidget.cpp @@ -807,6 +807,10 @@ void TimelineWidget::ViewMouseReleased(TimelineViewMouseEvent *event) void TimelineWidget::ViewMouseDoubleClicked(TimelineViewMouseEvent *event) { + // kHand tool is handled differently to the other tools + if (Core::instance()->tool() == olive::Tool::kHand) { + return; + } if (GetConnectedNode()) { GetActiveTool()->MouseDoubleClick(event); UpdateViewports(); From 8142df7a0498a972f46e653c8b31a09e4ba363f4 Mon Sep 17 00:00:00 2001 From: Thomas Wilshaw Date: Fri, 16 Apr 2021 20:15:10 +0100 Subject: [PATCH 3/5] viewer: Don't hide the widget before deleting --- app/widget/viewer/viewer.cpp | 1 - 1 file changed, 1 deletion(-) diff --git a/app/widget/viewer/viewer.cpp b/app/widget/viewer/viewer.cpp index 388d3347e..9e697bc88 100644 --- a/app/widget/viewer/viewer.cpp +++ b/app/widget/viewer/viewer.cpp @@ -323,7 +323,6 @@ void ViewerWidget::SetFullScreen(QScreen *screen) if (windows_.contains(screen)) { ViewerWindow* vw = windows_.take(screen); - vw->hide(); vw->deleteLater(); return; } From 1b4fd56803c87684f868b1d8a17adf38cde92109 Mon Sep 17 00:00:00 2001 From: Thomas Wilshaw Date: Fri, 16 Apr 2021 20:27:44 +0100 Subject: [PATCH 4/5] timelinewidget: Catch any nullptr, not just kHand --- app/widget/timelinewidget/timelinewidget.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/app/widget/timelinewidget/timelinewidget.cpp b/app/widget/timelinewidget/timelinewidget.cpp index a78fa96ac..cacf96ccf 100644 --- a/app/widget/timelinewidget/timelinewidget.cpp +++ b/app/widget/timelinewidget/timelinewidget.cpp @@ -807,8 +807,10 @@ void TimelineWidget::ViewMouseReleased(TimelineViewMouseEvent *event) void TimelineWidget::ViewMouseDoubleClicked(TimelineViewMouseEvent *event) { - // kHand tool is handled differently to the other tools - if (Core::instance()->tool() == olive::Tool::kHand) { + // kHand tool will return nullptr + if (!GetActiveTool()) { + // Only kHand should return a nullptr + Q_ASSERT(Core::instance()->tool() == olive::Tool::kHand); return; } if (GetConnectedNode()) { From 0b7c097b559de0ca4ff1fb845abe77cad8302270 Mon Sep 17 00:00:00 2001 From: itsmattkc Date: Sat, 17 Apr 2021 10:05:09 +1000 Subject: [PATCH 5/5] templates: more explicitly mention crash report system --- .github/ISSUE_TEMPLATE/01-crash_issue.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/ISSUE_TEMPLATE/01-crash_issue.md b/.github/ISSUE_TEMPLATE/01-crash_issue.md index d3d24f556..250770fcd 100644 --- a/.github/ISSUE_TEMPLATE/01-crash_issue.md +++ b/.github/ISSUE_TEMPLATE/01-crash_issue.md @@ -22,9 +22,9 @@ assignees: '' 2. 3. -
Backtrace

+
Crash Report

 
-
+