Title: [259974] releases/WebKitGTK/webkit-2.28/Tools
Revision
259974
Author
[email protected]
Date
2020-04-12 06:17:11 -0700 (Sun, 12 Apr 2020)

Log Message

Merge r259339 - [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: releases/WebKitGTK/webkit-2.28/Tools/ChangeLog (259973 => 259974)


--- releases/WebKitGTK/webkit-2.28/Tools/ChangeLog	2020-04-12 13:17:08 UTC (rev 259973)
+++ releases/WebKitGTK/webkit-2.28/Tools/ChangeLog	2020-04-12 13:17:11 UTC (rev 259974)
@@ -1,3 +1,16 @@
+2020-04-01  Carlos Garcia Campos  <[email protected]>
+
+        [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-21  Michael Catanzaro  <[email protected]>
 
         [GTK] Use ${PYTHON_EXECUTABLE} to run generate-gtkdoc

Modified: releases/WebKitGTK/webkit-2.28/Tools/MiniBrowser/gtk/BrowserWindow.c (259973 => 259974)


--- releases/WebKitGTK/webkit-2.28/Tools/MiniBrowser/gtk/BrowserWindow.c	2020-04-12 13:17:08 UTC (rev 259973)
+++ releases/WebKitGTK/webkit-2.28/Tools/MiniBrowser/gtk/BrowserWindow.c	2020-04-12 13:17:11 UTC (rev 259974)
@@ -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
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to