ladybird/Userland/Applications
Mustafa Quraish 3bf204fd03 PixelPaint: Fix BucketTool out of memory crashes
The BFS implementation for BucketTool's flood-fill had sitations
which could result in infinite loop, causing OOM crashes due to
the queue growing unbounded. The way to fix this is to keep track
of the pixels we have already visited in the flood-fill algorithm
and ignore those if we ever encounter them again.

This also fixes the crashing issue from #9003. We still need a
better way to account for transparency, but that is beyond the scope
of this commit, and this issue still exists without any transparent
pixels.
2021-09-09 11:27:48 +02:00
..
3DFileViewer 3DFileViewer: Use unveil and FileSystemAccessServer 2021-09-09 02:34:29 +02:00
About About: Display the full version 2021-09-02 16:17:18 +01:00
AnalogClock Everywhere: Add component declarations 2021-06-17 11:03:51 +02:00
Assistant Assistant: Fix lockfile logic 2021-09-08 10:53:49 +02:00
Browser LibWeb: Rename InitialContainingBlockBox => InitialContainingBlock 2021-09-08 11:27:46 +02:00
Calculator Calculator: The equal key will now also finish the operation 2021-08-26 17:35:15 +02:00
Calendar Userland+LibGUI: Add shorthand versions of the Margins constructor 2021-08-18 10:30:50 +02:00
CrashReporter Everywhere: Core dump => Coredump 2021-08-23 00:02:09 +02:00
Debugger Everywhere: Use OOM-safe ByteBuffer APIs where possible 2021-09-06 01:53:26 +02:00
DisplaySettings DisplaySettings: Add context menu for wallpapers 2021-09-03 23:15:47 +02:00
FileManager Everywhere: Use my shiny new serenityos.org email :^) 2021-09-03 12:22:36 +02:00
FontEditor FontEditor: Don't loop over all glyphs to find selected one 2021-09-06 14:01:24 +04:30
Help Userland: Migrate to argument-less deferred_invoke 2021-09-02 03:47:47 +04:30
HexEditor Everywhere: Make ByteBuffer::{create_*,copy}() OOM-safe 2021-09-06 01:53:26 +02:00
ImageViewer Everywhere: Make ByteBuffer::{create_*,copy}() OOM-safe 2021-09-06 01:53:26 +02:00
KeyboardMapper Keyboard Mapper: Better text color for buttons in dark theme 2021-09-06 17:38:59 +02:00
KeyboardSettings KeyboardSettings: Use LibConfig intead of Core::ConfigFile 2021-08-31 17:00:41 +02:00
Magnifier Magnifier: Remove unnecessary global cursor tracking 2021-09-08 10:53:49 +02:00
Mail LibIMAP: Stop leaking a Core::Promise<bool> in IMAP::Client::connect() 2021-09-01 23:02:18 +02:00
MailSettings MailSettings: Add unveil 2021-08-28 23:29:28 +02:00
MouseSettings Userland: Use Rect::centered_within() where useful 2021-08-31 01:35:08 +02:00
PDFViewer PDFViewer: Use FileSystemAccessClient to open files 2021-09-04 03:32:30 +02:00
Piano Piano: Format slider values when initially set 2021-09-04 03:24:03 +02:00
PixelPaint PixelPaint: Fix BucketTool out of memory crashes 2021-09-09 11:27:48 +02:00
Run Userland+LibGUI: Add shorthand versions of the Margins constructor 2021-08-18 10:30:50 +02:00
Settings Everywhere: Replace Model::update() with Model::invalidate() 2021-08-06 19:14:31 +02:00
SoundPlayer SoundPlayer: Convert to double before calculating 2021-09-04 22:52:02 +02:00
SpaceAnalyzer SpaceAnalyzer: Enable icons within the breadcrumbbar 2021-09-01 23:00:28 +02:00
Spreadsheet Everywhere: Behaviour => Behavior 2021-09-07 13:53:14 +02:00
SystemMonitor SystemMonitor: West Const to East Const refactor 2021-09-08 15:48:02 +04:30
Terminal Terminal: Use Config::pledge_domains() 2021-08-26 00:54:28 +02:00
TextEditor TextEditor: Stop calling window->set_modified(false) on file save 2021-09-02 09:12:51 +02:00
ThemeEditor ThemeEditor: Make the model derived from ItemListModel 2021-09-06 14:05:10 +04:30
VideoPlayer Applications: Remove unused header includes 2021-08-01 08:10:16 +02:00
Welcome Welcome: Replace rand()/srand() with AK::get_random_uniform() 2021-09-02 00:39:12 +02:00
CMakeLists.txt Userland: Remove IRC Client 2021-08-24 16:37:28 +02:00