ladybird/Userland/Applications
Daniel Bertalan d7b6cc6421 Everywhere: Prevent risky implicit casts of (Nonnull)RefPtr
Our existing implementation did not check the element type of the other
pointer in the constructors and move assignment operators. This meant
that some operations that would require explicit casting on raw pointers
were done implicitly, such as:
- downcasting a base class to a derived class (e.g. `Kernel::Inode` =>
  `Kernel::ProcFSDirectoryInode` in Kernel/ProcFS.cpp),
- casting to an unrelated type (e.g. `Promise<bool>` => `Promise<Empty>`
  in LibIMAP/Client.cpp)

This, of course, allows gross violations of the type system, and makes
the need to type-check less obvious before downcasting. Luckily, while
adding the `static_ptr_cast`s, only two truly incorrect usages were
found; in the other instances, our casts just needed to be made
explicit.
2021-09-03 23:20:23 +02:00
..
3DFileViewer 3DFileViewer: Maintain the FPS counter's position 2021-09-01 23:04:10 +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 Userland+LibGUI: Add shorthand versions of the Margins constructor 2021-08-18 10:30:50 +02:00
Browser Everywhere: Use my shiny new serenityos.org email :^) 2021-09-03 12:22:36 +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 Applications: Remove unused header includes 2021-08-01 08:10:16 +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 Userland: Migrate to argument-less deferred_invoke 2021-09-02 03:47:47 +04:30
Help Userland: Migrate to argument-less deferred_invoke 2021-09-02 03:47:47 +04:30
HexEditor HexEditor: Use LibConfig instead of Core::ConfigFile 2021-08-27 12:37:07 +02:00
ImageViewer Applications: Remove unused header includes 2021-08-01 08:10:16 +02:00
KeyboardMapper Userland+LibGUI: Add shorthand versions of the Margins constructor 2021-08-18 10:30:50 +02:00
KeyboardSettings KeyboardSettings: Use LibConfig intead of Core::ConfigFile 2021-08-31 17:00:41 +02:00
Magnifier Userland: Add GUI::Window::add_menu() and use it everywhere 2021-07-21 21:24:26 +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 Userland+LibGUI: Add shorthand versions of the Margins constructor 2021-08-18 10:30:50 +02:00
Piano AK: Rename create<T> => make_ref_counted<T> 2021-09-03 02:36:09 +02:00
PixelPaint AK: Rename create<T> => make_ref_counted<T> 2021-09-03 02:36:09 +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: Use GUI::ActionGroup for Visualization menu 2021-09-01 19:19:35 +02:00
SpaceAnalyzer SpaceAnalyzer: Enable icons within the breadcrumbbar 2021-09-01 23:00:28 +02:00
Spreadsheet Everywhere: Prevent risky implicit casts of (Nonnull)RefPtr 2021-09-03 23:20:23 +02:00
SystemMonitor SystemMonitor: Put the "Hardware" tabs at the end of the list 2021-08-18 13:07:35 +02:00
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 Userland: Use Rect::centered_within() where useful 2021-08-31 01:35:08 +02:00
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