From 5b5b2c2aa18d104d1bfe7533f993e683d482df7c Mon Sep 17 00:00:00 2001 From: NaiJi Date: Wed, 12 Jan 2022 00:01:28 +0300 Subject: [PATCH] Fix runtime failures after sfml-bridge merge --- include/core/timeline.h | 3 +++ src/application/src/widgets/bpmcalculatorwidget.cpp | 2 +- src/application/src/widgets/bpmslider.cpp | 5 ++++- src/application/src/widgets/bpmslider.h | 3 ++- src/application/src/widgets/cascademenubutton.cpp | 2 ++ 5 files changed, 12 insertions(+), 3 deletions(-) diff --git a/include/core/timeline.h b/include/core/timeline.h index d8f33b5..7016615 100644 --- a/include/core/timeline.h +++ b/include/core/timeline.h @@ -141,6 +141,9 @@ private: inline void updateTopNote(const microsec& music_offset) noexcept { + if (isExpired(_top_note)) + return; + const auto& top_note = *_top_note; bool already_played = top_note->getPerfectOffset() < music_offset diff --git a/src/application/src/widgets/bpmcalculatorwidget.cpp b/src/application/src/widgets/bpmcalculatorwidget.cpp index 4fa2147..4576128 100644 --- a/src/application/src/widgets/bpmcalculatorwidget.cpp +++ b/src/application/src/widgets/bpmcalculatorwidget.cpp @@ -7,7 +7,7 @@ BPMCalculatorWidget::BPMCalculatorWidget(const std::shared_ptr& bpm_calculator, const std::shared_ptr& factory) : Window(factory, "BPM Calculation"), _bpm_calculator(bpm_calculator), - _slider(std::make_shared()), + _slider(std::make_shared(factory)), _core_factory(factory), _ticked(false) { diff --git a/src/application/src/widgets/bpmslider.cpp b/src/application/src/widgets/bpmslider.cpp index 506edcf..8f23b02 100644 --- a/src/application/src/widgets/bpmslider.cpp +++ b/src/application/src/widgets/bpmslider.cpp @@ -1,7 +1,10 @@ #include "bpmslider.h" -BPMSlider::BPMSlider() +BPMSlider::BPMSlider(const std::shared_ptr &factory) { + _slider_background = factory->getRectangle(); + _slider_tick = factory->getRectangle(); + _slider_background->setColor(kku::Color{0, 0, 0, 255}); _slider_tick->setColor(kku::Color{255, 0, 0, 255}); } diff --git a/src/application/src/widgets/bpmslider.h b/src/application/src/widgets/bpmslider.h index cc1985a..3e098a8 100644 --- a/src/application/src/widgets/bpmslider.h +++ b/src/application/src/widgets/bpmslider.h @@ -2,11 +2,12 @@ #include "widget.h" #include "core/rectangle.h" +#include "core/corefactory.h" class BPMSlider : public Widget { public: - explicit BPMSlider(); + explicit BPMSlider(const std::shared_ptr& factory); virtual void input(const kku::SystemEvent& event) override; virtual void update(const kku::microsec& dt) override; diff --git a/src/application/src/widgets/cascademenubutton.cpp b/src/application/src/widgets/cascademenubutton.cpp index 8d03488..5834961 100644 --- a/src/application/src/widgets/cascademenubutton.cpp +++ b/src/application/src/widgets/cascademenubutton.cpp @@ -6,6 +6,8 @@ CascadeMenuButton::CascadeMenuButton(const std::string& text, const std::shared_ { _color_idle = kku::Color{230, 230, 230, 255}; _color_hover = kku::Color{84, 158, 253, 255}; + + _button_content = factory->getRectangle(); _button_content->setColor(_color_idle); }