From 4bb874a154d565ea3110e847e9dffd3a0c3fe644 Mon Sep 17 00:00:00 2001 From: itsmattkc Date: Mon, 9 Dec 2019 23:43:03 +1100 Subject: [PATCH] fix sigfpe on timecode function if the timebase isn't valid --- app/common/timecodefunctions.cpp | 9 ++++----- .../crossdissolve/crossdissolvetransition.cpp | 6 ++++++ .../crossdissolve/crossdissolvetransition.h | 11 +++++++++++ .../transition/diptoblack/diptoblacktransition.cpp | 6 ++++++ .../transition/diptoblack/diptoblacktransition.h | 11 +++++++++++ 5 files changed, 38 insertions(+), 5 deletions(-) create mode 100644 app/node/block/transition/crossdissolve/crossdissolvetransition.cpp create mode 100644 app/node/block/transition/crossdissolve/crossdissolvetransition.h create mode 100644 app/node/block/transition/diptoblack/diptoblacktransition.cpp create mode 100644 app/node/block/transition/diptoblack/diptoblacktransition.h diff --git a/app/common/timecodefunctions.cpp b/app/common/timecodefunctions.cpp index 2e9b294df..b9961f6d0 100644 --- a/app/common/timecodefunctions.cpp +++ b/app/common/timecodefunctions.cpp @@ -33,15 +33,14 @@ QString olive::timestamp_to_timecode(const int64_t ×tamp, const TimecodeDisplay& display, bool show_plus_if_positive) { + if (timebase.isNull()) { + return QString(); + } + double timestamp_dbl = (rational(timestamp) * timebase).toDouble(); switch (display) { case kTimecodeNonDropFrame: - // Convert timestamp from drop frame to non-drop frame - if (timebase.numerator() == 1001) { - timestamp_dbl = timestamp_dbl / timebase.flipped().toDouble() * (static_cast(timebase.denominator())/1000.0); - } - /* fall-through */ case kTimecodeDropFrame: case kTimecodeSeconds: { diff --git a/app/node/block/transition/crossdissolve/crossdissolvetransition.cpp b/app/node/block/transition/crossdissolve/crossdissolvetransition.cpp new file mode 100644 index 000000000..8846988ad --- /dev/null +++ b/app/node/block/transition/crossdissolve/crossdissolvetransition.cpp @@ -0,0 +1,6 @@ +#include "crossdissolvetransition.h" + +CrossDissolveTransition::CrossDissolveTransition() +{ + +} diff --git a/app/node/block/transition/crossdissolve/crossdissolvetransition.h b/app/node/block/transition/crossdissolve/crossdissolvetransition.h new file mode 100644 index 000000000..44b152f7e --- /dev/null +++ b/app/node/block/transition/crossdissolve/crossdissolvetransition.h @@ -0,0 +1,11 @@ +#ifndef CROSSDISSOLVETRANSITION_H +#define CROSSDISSOLVETRANSITION_H + + +class CrossDissolveTransition +{ +public: + CrossDissolveTransition(); +}; + +#endif // CROSSDISSOLVETRANSITION_H diff --git a/app/node/block/transition/diptoblack/diptoblacktransition.cpp b/app/node/block/transition/diptoblack/diptoblacktransition.cpp new file mode 100644 index 000000000..9d7575861 --- /dev/null +++ b/app/node/block/transition/diptoblack/diptoblacktransition.cpp @@ -0,0 +1,6 @@ +#include "diptoblacktransition.h" + +DipToBlackTransition::DipToBlackTransition() +{ + +} diff --git a/app/node/block/transition/diptoblack/diptoblacktransition.h b/app/node/block/transition/diptoblack/diptoblacktransition.h new file mode 100644 index 000000000..bf023ac92 --- /dev/null +++ b/app/node/block/transition/diptoblack/diptoblacktransition.h @@ -0,0 +1,11 @@ +#ifndef DIPTOBLACKTRANSITION_H +#define DIPTOBLACKTRANSITION_H + + +class DipToBlackTransition +{ +public: + DipToBlackTransition(); +}; + +#endif // DIPTOBLACKTRANSITION_H