Title: [126267] trunk/Tools
- Revision
- 126267
- Author
- [email protected]
- Date
- 2012-08-21 23:47:38 -0700 (Tue, 21 Aug 2012)
Log Message
[GTK] contextClick and getMenuItemTitle callbacks are leaky in DRT's EventSender
https://bugs.webkit.org/show_bug.cgi?id=94669
Patch by Sudarsana Nagineni <[email protected]> on 2012-08-21
Reviewed by Carlos Garcia Campos.
Fix memory leaks in DRT's EventSender code.
* DumpRenderTree/gtk/EventSender.cpp:
(getMenuItemTitleCallback): Use JSRetainPtr and don't leak.
(contextClickCallback): Use GOwnPtr to manage memory of a
newly-allocated list automatically.
Modified Paths
Diff
Modified: trunk/Tools/ChangeLog (126266 => 126267)
--- trunk/Tools/ChangeLog 2012-08-22 06:43:53 UTC (rev 126266)
+++ trunk/Tools/ChangeLog 2012-08-22 06:47:38 UTC (rev 126267)
@@ -1,3 +1,17 @@
+2012-08-21 Sudarsana Nagineni <[email protected]>
+
+ [GTK] contextClick and getMenuItemTitle callbacks are leaky in DRT's EventSender
+ https://bugs.webkit.org/show_bug.cgi?id=94669
+
+ Reviewed by Carlos Garcia Campos.
+
+ Fix memory leaks in DRT's EventSender code.
+
+ * DumpRenderTree/gtk/EventSender.cpp:
+ (getMenuItemTitleCallback): Use JSRetainPtr and don't leak.
+ (contextClickCallback): Use GOwnPtr to manage memory of a
+ newly-allocated list automatically.
+
2012-08-21 Dirk Pranke <[email protected]>
Add mountain lion to perf-tests, layout tests
Modified: trunk/Tools/DumpRenderTree/gtk/EventSender.cpp (126266 => 126267)
--- trunk/Tools/DumpRenderTree/gtk/EventSender.cpp 2012-08-22 06:43:53 UTC (rev 126266)
+++ trunk/Tools/DumpRenderTree/gtk/EventSender.cpp 2012-08-22 06:47:38 UTC (rev 126267)
@@ -157,7 +157,8 @@
else
label = gtk_menu_item_get_label(GTK_MENU_ITEM(widget));
- return JSValueMakeString(context, JSStringCreateWithUTF8CString(label.data()));
+ JSRetainPtr<JSStringRef> itemText(Adopt, JSStringCreateWithUTF8CString(label.data()));
+ return JSValueMakeString(context, itemText.get());
}
static bool setMenuItemTitleCallback(JSContextRef context, JSObjectRef object, JSStringRef propertyName, JSValueRef value, JSValueRef* exception)
@@ -216,10 +217,10 @@
WebKitWebView* view = webkit_web_frame_get_web_view(mainFrame);
GtkMenu* gtkMenu = webkit_web_view_get_context_menu(view);
if (gtkMenu) {
- GList* items = gtk_container_get_children(GTK_CONTAINER(gtkMenu));
- JSValueRef arrayValues[g_list_length(items)];
+ GOwnPtr<GList> items(gtk_container_get_children(GTK_CONTAINER(gtkMenu)));
+ JSValueRef arrayValues[g_list_length(items.get())];
int index = 0;
- for (GList* item = g_list_first(items); item; item = g_list_next(item)) {
+ for (GList* item = g_list_first(items.get()); item; item = g_list_next(item)) {
arrayValues[index] = JSObjectMake(context, getMenuItemClass(), item->data);
index++;
}
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo/webkit-changes