summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthias Clasen <mclasen@redhat.com>2021-02-09 12:27:35 +0000
committerMatthias Clasen <mclasen@redhat.com>2021-02-09 12:27:35 +0000
commit4ce071721febe0853860cd9ad5eebe365ccce56a (patch)
tree88dd452428073713590ca2e8e71056a7470cde0c
parent3cdfb779c745d316e0f31f3e62b394c2aad17d36 (diff)
parent67877e403f6661b572c3290b8c905eadc9f5b00c (diff)
downloadgtk+-4ce071721febe0853860cd9ad5eebe365ccce56a.tar.gz
Merge branch 'win32-drop-formats-leak' into 'master'
win32: Fix some leaks See merge request GNOME/gtk!3167
-rw-r--r--gdk/win32/gdkdrop-win32.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/gdk/win32/gdkdrop-win32.c b/gdk/win32/gdkdrop-win32.c
index 6b0ac016b3..bd41e82ef7 100644
--- a/gdk/win32/gdkdrop-win32.c
+++ b/gdk/win32/gdkdrop-win32.c
@@ -477,7 +477,7 @@ _gdk_win32_local_drop_target_dragenter (GdkDrag *drag,
drop = gdk_drop_new (display,
gdk_seat_get_pointer (gdk_display_get_default_seat (display)),
drag,
- gdk_content_formats_ref (gdk_drag_get_formats (drag)),
+ gdk_drag_get_formats (drag),
dest_surface,
GDK_DRAG_PROTO_LOCAL);
drop_win32 = GDK_WIN32_DROP (drop);
@@ -519,6 +519,7 @@ idroptarget_dragenter (LPDROPTARGET This,
GdkDrag *drag;
GdkDragAction source_actions;
GdkDragAction dest_actions;
+ GdkContentFormats *formats;
GDK_NOTE (DND, g_print ("idroptarget_dragenter %p @ %ld : %ld"
" for dest window 0x%p"
@@ -538,15 +539,17 @@ idroptarget_dragenter (LPDROPTARGET This,
drag = _gdk_win32_find_drag_for_dest_window (GDK_SURFACE_HWND (ctx->surface));
display = gdk_surface_get_display (ctx->surface);
+
+ formats = query_object_formats (pDataObj, NULL);
drop = gdk_drop_new (display,
gdk_seat_get_pointer (gdk_display_get_default_seat (display)),
drag,
- query_object_formats (pDataObj, NULL),
+ formats,
ctx->surface,
GDK_DRAG_PROTO_OLE2);
drop_win32 = GDK_WIN32_DROP (drop);
g_array_set_size (drop_win32->droptarget_w32format_contentformat_map, 0);
- gdk_content_formats_unref (query_object_formats (pDataObj, drop_win32->droptarget_w32format_contentformat_map));
+ gdk_content_formats_unref (formats);
ctx->drop = drop;