From 4f563e346d8500ef73836baf9d5da7a217c3154f Mon Sep 17 00:00:00 2001 From: Timothy Flynn Date: Wed, 23 Aug 2023 13:00:08 -0400 Subject: [PATCH] Ladybird: Ensure we release CoreFoundation references Once we are done with our references to some CoreFoundation types, we must be sure to manually release those references. --- Ladybird/AppKit/Application/EventLoopImplementation.mm | 3 +++ Ladybird/AppKit/UI/LadybirdWebView.mm | 1 + 2 files changed, 4 insertions(+) diff --git a/Ladybird/AppKit/Application/EventLoopImplementation.mm b/Ladybird/AppKit/Application/EventLoopImplementation.mm index 3ec1580b45..83023d7630 100644 --- a/Ladybird/AppKit/Application/EventLoopImplementation.mm +++ b/Ladybird/AppKit/Application/EventLoopImplementation.mm @@ -89,6 +89,7 @@ bool CFEventLoopManager::unregister_timer(int timer_id) if (auto timer = thread_data.timers.take(timer_id); timer.has_value()) { CFRunLoopTimerInvalidate(*timer); + CFRelease(*timer); return true; } @@ -140,6 +141,8 @@ void CFEventLoopManager::register_notifier(Core::Notifier& notifier) auto* source = CFSocketCreateRunLoopSource(kCFAllocatorDefault, socket, 0); CFRunLoopAddSource(CFRunLoopGetCurrent(), source, kCFRunLoopDefaultMode); + CFRelease(socket); + ThreadData::the().notifiers.set(¬ifier, source); } diff --git a/Ladybird/AppKit/UI/LadybirdWebView.mm b/Ladybird/AppKit/UI/LadybirdWebView.mm index 654be7749c..261f6d6589 100644 --- a/Ladybird/AppKit/UI/LadybirdWebView.mm +++ b/Ladybird/AppKit/UI/LadybirdWebView.mm @@ -860,6 +860,7 @@ static void copy_text_to_clipboard(StringView text) [image drawInRect:image_rect]; CGContextRestoreGState(context); + CGDataProviderRelease(provider); CGImageRelease(bitmap_image); [super drawRect:rect];