Title: [259339] trunk/Tools
- Revision
- 259339
- Author
- carlo...@webkit.org
- Date
- 2020-04-01 05:15:40 -0700 (Wed, 01 Apr 2020)
Log Message
[GTK] MiniBrowser: valgrind claims 'Invalid write of size 8' on close
https://bugs.webkit.org/show_bug.cgi?id=209471
Reviewed by Adrian Perez de Castro.
This is because we need to remove the weak pointer added in child windows to their parent.
* MiniBrowser/gtk/BrowserWindow.c:
(browserWindowDispose): Remove the parentWindow weak ref.
(browser_window_class_init): Add dispose.
Modified Paths
Diff
Modified: trunk/Tools/ChangeLog (259338 => 259339)
--- trunk/Tools/ChangeLog 2020-04-01 09:08:26 UTC (rev 259338)
+++ trunk/Tools/ChangeLog 2020-04-01 12:15:40 UTC (rev 259339)
@@ -1,3 +1,16 @@
+2020-04-01 Carlos Garcia Campos <cgar...@igalia.com>
+
+ [GTK] MiniBrowser: valgrind claims 'Invalid write of size 8' on close
+ https://bugs.webkit.org/show_bug.cgi?id=209471
+
+ Reviewed by Adrian Perez de Castro.
+
+ This is because we need to remove the weak pointer added in child windows to their parent.
+
+ * MiniBrowser/gtk/BrowserWindow.c:
+ (browserWindowDispose): Remove the parentWindow weak ref.
+ (browser_window_class_init): Add dispose.
+
2020-03-31 Kate Cheney <katherine_che...@apple.com>
Requests for messageHandlers() in the DOMWindow should be ignored for non-app-bound navigations
Modified: trunk/Tools/MiniBrowser/gtk/BrowserWindow.c (259338 => 259339)
--- trunk/Tools/MiniBrowser/gtk/BrowserWindow.c 2020-04-01 09:08:26 UTC (rev 259338)
+++ trunk/Tools/MiniBrowser/gtk/BrowserWindow.c 2020-04-01 12:15:40 UTC (rev 259339)
@@ -711,6 +711,18 @@
gtk_main_quit();
}
+static void browserWindowDispose(GObject *gObject)
+{
+ BrowserWindow *window = BROWSER_WINDOW(gObject);
+
+ if (window->parentWindow) {
+ g_object_remove_weak_pointer(G_OBJECT(window->parentWindow), (gpointer *)&window->parentWindow);
+ window->parentWindow = NULL;
+ }
+
+ G_OBJECT_CLASS(browser_window_parent_class)->dispose(gObject);
+}
+
static void browserWindowSetupEditorToolbar(BrowserWindow *window)
{
GtkWidget *toolbar = gtk_toolbar_new();
@@ -1126,6 +1138,7 @@
GObjectClass *gobjectClass = G_OBJECT_CLASS(klass);
gobjectClass->constructed = browserWindowConstructed;
+ gobjectClass->dispose = browserWindowDispose;
gobjectClass->finalize = browserWindowFinalize;
GtkWidgetClass *widgetClass = GTK_WIDGET_CLASS(klass);
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes