ladybird/Ladybird/Qt
Timothy Flynn c4e2c725ec Ladybird/Qt: Ensure the Inspector widget is deleted before the WebView
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.
2023-12-29 15:48:06 +01:00
..
AudioCodecPluginQt.cpp Ladybird: Move Qt-specific classes and functions to a Qt subdirectory 2023-08-07 14:58:04 -06:00
AudioCodecPluginQt.h Ladybird: Move Qt-specific classes and functions to a Qt subdirectory 2023-08-07 14:58:04 -06:00
AudioThread.cpp Ladybird: Move Qt-specific classes and functions to a Qt subdirectory 2023-08-07 14:58:04 -06:00
AudioThread.h Ladybird: Move Qt-specific classes and functions to a Qt subdirectory 2023-08-07 14:58:04 -06:00
AutoComplete.cpp Everywhere: Rename {Deprecated => Byte}String 2023-12-17 18:25:10 +03:30
AutoComplete.h Ladybird/Qt: Make String allocation infallible 2023-12-04 12:03:48 -07:00
BrowserWindow.cpp Everywhere: Rename {Deprecated => Byte}String 2023-12-17 18:25:10 +03:30
BrowserWindow.h Everywhere: Rename {Deprecated => Byte}String 2023-12-17 18:25:10 +03:30
EventLoopImplementationQt.cpp Ladybird: Move Qt-specific classes and functions to a Qt subdirectory 2023-08-07 14:58:04 -06:00
EventLoopImplementationQt.h Ladybird: Move Qt-specific classes and functions to a Qt subdirectory 2023-08-07 14:58:04 -06:00
EventLoopImplementationQtEventTarget.cpp Ladybird: Move Qt-specific classes and functions to a Qt subdirectory 2023-08-07 14:58:04 -06:00
EventLoopImplementationQtEventTarget.h Ladybird: Move Qt-specific classes and functions to a Qt subdirectory 2023-08-07 14:58:04 -06:00
Icon.cpp Ladybird: Load all icons uses Core::Resource URIs 2023-11-06 09:39:59 +01:00
Icon.h Ladybird: Load all icons uses Core::Resource URIs 2023-11-06 09:39:59 +01:00
InspectorWidget.cpp Ladybird/Qt: Listen to DPI changes and update WebContentView accordingly 2023-12-13 22:25:27 +01:00
InspectorWidget.h Ladybird/Qt: Listen to DPI changes and update WebContentView accordingly 2023-12-13 22:25:27 +01:00
ladybird.qrc Ladybird: Move Qt-specific classes and functions to a Qt subdirectory 2023-08-07 14:58:04 -06:00
LocationEdit.cpp Ladybird/Qt: Make String allocation infallible 2023-12-04 12:03:48 -07:00
LocationEdit.h Ladybird: Add autocomplete to LocationEdit 2023-08-17 15:30:23 +01:00
main.cpp Ladybird: Add command line flag to wait for debugger in WebContent 2023-12-21 19:03:40 +01:00
RequestManagerQt.cpp Everywhere: Rename {Deprecated => Byte}String 2023-12-17 18:25:10 +03:30
RequestManagerQt.h Everywhere: Rename {Deprecated => Byte}String 2023-12-17 18:25:10 +03:30
Settings.cpp Ladybird+BrowserSettings: Load the NTP/home resource files with LibWeb 2023-12-24 14:09:23 +01:00
Settings.h Everywhere: Rename {Deprecated => Byte}String 2023-12-17 18:25:10 +03:30
SettingsDialog.cpp Ladybird/Qt: Do not "share" ownership of Qt objects 2023-12-04 12:03:48 -07:00
SettingsDialog.h Ladybird/Qt: Do not "share" ownership of Qt objects 2023-12-04 12:03:48 -07:00
StringUtils.cpp Everywhere: Rename {Deprecated => Byte}String 2023-12-17 18:25:10 +03:30
StringUtils.h Everywhere: Rename {Deprecated => Byte}String 2023-12-17 18:25:10 +03:30
Tab.cpp Ladybird/Qt: Ensure the Inspector widget is deleted before the WebView 2023-12-29 15:48:06 +01:00
Tab.h Everywhere: Rename {Deprecated => Byte}String 2023-12-17 18:25:10 +03:30
TVGIconEngine.cpp Ladybird: Move Qt-specific classes and functions to a Qt subdirectory 2023-08-07 14:58:04 -06:00
TVGIconEngine.h Ladybird: Move Qt-specific classes and functions to a Qt subdirectory 2023-08-07 14:58:04 -06:00
WebContentView.cpp LibWebView+WebContent: Drive repainting from WebContent process 2023-12-22 17:47:34 +01:00
WebContentView.h Everywhere: Rename {Deprecated => Byte}String 2023-12-17 18:25:10 +03:30
WebSocketClientManagerQt.cpp Everywhere: Rename {Deprecated => Byte}String 2023-12-17 18:25:10 +03:30
WebSocketClientManagerQt.h Everywhere: Rename {Deprecated => Byte}String 2023-12-17 18:25:10 +03:30
WebSocketImplQt.cpp Everywhere: Rename {Deprecated => Byte}String 2023-12-17 18:25:10 +03:30
WebSocketImplQt.h Everywhere: Rename {Deprecated => Byte}String 2023-12-17 18:25:10 +03:30
WebSocketQt.cpp Everywhere: Rename {Deprecated => Byte}String 2023-12-17 18:25:10 +03:30
WebSocketQt.h Everywhere: Rename {Deprecated => Byte}String 2023-12-17 18:25:10 +03:30