diff --git a/Ladybird/AppKit/Application/EventLoopImplementation.h b/Ladybird/AppKit/Application/EventLoopImplementation.h index 2bb130efa8..6ed0bb5968 100644 --- a/Ladybird/AppKit/Application/EventLoopImplementation.h +++ b/Ladybird/AppKit/Application/EventLoopImplementation.h @@ -17,7 +17,7 @@ public: virtual NonnullOwnPtr make_implementation() override; virtual int register_timer(Core::EventReceiver&, int interval_milliseconds, bool should_reload, Core::TimerShouldFireWhenNotVisible) override; - virtual bool unregister_timer(int timer_id) override; + virtual void unregister_timer(int timer_id) override; virtual void register_notifier(Core::Notifier&) override; virtual void unregister_notifier(Core::Notifier&) override; diff --git a/Ladybird/AppKit/Application/EventLoopImplementation.mm b/Ladybird/AppKit/Application/EventLoopImplementation.mm index 1eae190ded..3e99530979 100644 --- a/Ladybird/AppKit/Application/EventLoopImplementation.mm +++ b/Ladybird/AppKit/Application/EventLoopImplementation.mm @@ -82,18 +82,15 @@ int CFEventLoopManager::register_timer(Core::EventReceiver& receiver, int interv return timer_id; } -bool CFEventLoopManager::unregister_timer(int timer_id) +void CFEventLoopManager::unregister_timer(int timer_id) { auto& thread_data = ThreadData::the(); thread_data.timer_id_allocator.deallocate(timer_id); - if (auto timer = thread_data.timers.take(timer_id); timer.has_value()) { - CFRunLoopTimerInvalidate(*timer); - CFRelease(*timer); - return true; - } - - return false; + auto timer = thread_data.timers.take(timer_id); + VERIFY(timer.has_value()); + CFRunLoopTimerInvalidate(*timer); + CFRelease(*timer); } static void socket_notifier(CFSocketRef socket, CFSocketCallBackType notification_type, CFDataRef, void const*, void* info) diff --git a/Ladybird/Qt/EventLoopImplementationQt.cpp b/Ladybird/Qt/EventLoopImplementationQt.cpp index c20792716d..2c9e8dd728 100644 --- a/Ladybird/Qt/EventLoopImplementationQt.cpp +++ b/Ladybird/Qt/EventLoopImplementationQt.cpp @@ -109,11 +109,11 @@ int EventLoopManagerQt::register_timer(Core::EventReceiver& object, int millisec return timer_id; } -bool EventLoopManagerQt::unregister_timer(int timer_id) +void EventLoopManagerQt::unregister_timer(int timer_id) { auto& thread_data = ThreadData::the(); thread_data.timer_id_allocator.deallocate(timer_id); - return thread_data.timers.remove(timer_id); + VERIFY(thread_data.timers.remove(timer_id)); } static void qt_notifier_activated(Core::Notifier& notifier) diff --git a/Ladybird/Qt/EventLoopImplementationQt.h b/Ladybird/Qt/EventLoopImplementationQt.h index 7a5f7ee8a0..8711a42eec 100644 --- a/Ladybird/Qt/EventLoopImplementationQt.h +++ b/Ladybird/Qt/EventLoopImplementationQt.h @@ -27,7 +27,7 @@ public: virtual NonnullOwnPtr make_implementation() override; virtual int register_timer(Core::EventReceiver&, int milliseconds, bool should_reload, Core::TimerShouldFireWhenNotVisible) override; - virtual bool unregister_timer(int timer_id) override; + virtual void unregister_timer(int timer_id) override; virtual void register_notifier(Core::Notifier&) override; virtual void unregister_notifier(Core::Notifier&) override; diff --git a/Userland/Libraries/LibCore/EventLoop.cpp b/Userland/Libraries/LibCore/EventLoop.cpp index 3a82ea4d5f..73dbfb94f4 100644 --- a/Userland/Libraries/LibCore/EventLoop.cpp +++ b/Userland/Libraries/LibCore/EventLoop.cpp @@ -130,9 +130,9 @@ int EventLoop::register_timer(EventReceiver& object, int milliseconds, bool shou return EventLoopManager::the().register_timer(object, milliseconds, should_reload, fire_when_not_visible); } -bool EventLoop::unregister_timer(int timer_id) +void EventLoop::unregister_timer(int timer_id) { - return EventLoopManager::the().unregister_timer(timer_id); + EventLoopManager::the().unregister_timer(timer_id); } void EventLoop::register_notifier(Badge, Notifier& notifier) diff --git a/Userland/Libraries/LibCore/EventLoop.h b/Userland/Libraries/LibCore/EventLoop.h index e4cb648b45..eca5c320d5 100644 --- a/Userland/Libraries/LibCore/EventLoop.h +++ b/Userland/Libraries/LibCore/EventLoop.h @@ -77,7 +77,7 @@ public: // The registration functions act upon the current loop of the current thread. static int register_timer(EventReceiver&, int milliseconds, bool should_reload, TimerShouldFireWhenNotVisible); - static bool unregister_timer(int timer_id); + static void unregister_timer(int timer_id); static void register_notifier(Badge, Notifier&); static void unregister_notifier(Badge, Notifier&); diff --git a/Userland/Libraries/LibCore/EventLoopImplementation.h b/Userland/Libraries/LibCore/EventLoopImplementation.h index 56b4d933b8..fa36f37f24 100644 --- a/Userland/Libraries/LibCore/EventLoopImplementation.h +++ b/Userland/Libraries/LibCore/EventLoopImplementation.h @@ -24,7 +24,7 @@ public: virtual NonnullOwnPtr make_implementation() = 0; virtual int register_timer(EventReceiver&, int milliseconds, bool should_reload, TimerShouldFireWhenNotVisible) = 0; - virtual bool unregister_timer(int timer_id) = 0; + virtual void unregister_timer(int timer_id) = 0; virtual void register_notifier(Notifier&) = 0; virtual void unregister_notifier(Notifier&) = 0; diff --git a/Userland/Libraries/LibCore/EventLoopImplementationUnix.cpp b/Userland/Libraries/LibCore/EventLoopImplementationUnix.cpp index ae65e35043..98eb38e4de 100644 --- a/Userland/Libraries/LibCore/EventLoopImplementationUnix.cpp +++ b/Userland/Libraries/LibCore/EventLoopImplementationUnix.cpp @@ -509,11 +509,11 @@ int EventLoopManagerUnix::register_timer(EventReceiver& object, int milliseconds return timer_id; } -bool EventLoopManagerUnix::unregister_timer(int timer_id) +void EventLoopManagerUnix::unregister_timer(int timer_id) { auto& thread_data = ThreadData::the(); thread_data.id_allocator.deallocate(timer_id); - return thread_data.timers.remove(timer_id); + VERIFY(thread_data.timers.remove(timer_id)); } void EventLoopManagerUnix::register_notifier(Notifier& notifier) diff --git a/Userland/Libraries/LibCore/EventLoopImplementationUnix.h b/Userland/Libraries/LibCore/EventLoopImplementationUnix.h index a59d4e6be6..b19bf11685 100644 --- a/Userland/Libraries/LibCore/EventLoopImplementationUnix.h +++ b/Userland/Libraries/LibCore/EventLoopImplementationUnix.h @@ -18,7 +18,7 @@ public: virtual NonnullOwnPtr make_implementation() override; virtual int register_timer(EventReceiver&, int milliseconds, bool should_reload, TimerShouldFireWhenNotVisible) override; - virtual bool unregister_timer(int timer_id) override; + virtual void unregister_timer(int timer_id) override; virtual void register_notifier(Notifier&) override; virtual void unregister_notifier(Notifier&) override; diff --git a/Userland/Libraries/LibCore/EventReceiver.cpp b/Userland/Libraries/LibCore/EventReceiver.cpp index ecba81c82b..2160e0449c 100644 --- a/Userland/Libraries/LibCore/EventReceiver.cpp +++ b/Userland/Libraries/LibCore/EventReceiver.cpp @@ -129,10 +129,7 @@ void EventReceiver::stop_timer() { if (!m_timer_id) return; - bool success = Core::EventLoop::unregister_timer(m_timer_id); - if (!success) { - dbgln("{:p} could not unregister timer {}", this, m_timer_id); - } + Core::EventLoop::unregister_timer(m_timer_id); m_timer_id = 0; }