mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2024-11-25 17:10:23 +00:00
c4e2c725ec
According to Qt documentation, destruction of a QObject's children may happen in any order. In our case, the Tab's WebContentView is deleted before its InspectorWidget. The InspectorWidget performs cleanup on that WebContentView in its destructor; this causes use-after-free since it has already been destroyed. From reading Qt threads, if a particular destruction order is required, it is okay to enforce that order with manual `delete`s. This patch does so with the InspectorWidget to ensure it is deleted before the WebContentView. Qt's object ownership is okay with this - it will remove the InspectorWidget from the Tab's children, preventing any double deletion. |
||
---|---|---|
.. | ||
Android | ||
AppKit | ||
cmake | ||
Icons | ||
ImageDecoder | ||
Qt | ||
RequestServer | ||
SQLServer | ||
WebContent | ||
WebDriver | ||
WebSocket | ||
WebWorker | ||
.gitignore | ||
CMakeLists.txt | ||
FontPlugin.cpp | ||
FontPlugin.h | ||
HelperProcess.cpp | ||
HelperProcess.h | ||
ImageCodecPlugin.cpp | ||
ImageCodecPlugin.h | ||
Info.plist | ||
ladybird.nix | ||
README.md | ||
Types.h | ||
Utilities.cpp | ||
Utilities.h |
Ladybird
Ladybird is a web browser built on the LibWeb and LibJS engines from SerenityOS with a cross-platform GUI in Qt.
For more information about Ladybird, see this blog post.
See build instructions.