From 2239c5cf3af9399b0d06a8e1ca4ed55b273627ec Mon Sep 17 00:00:00 2001 From: Stu Date: Sat, 13 Dec 2025 22:30:37 -0500 Subject: [PATCH] Fix drag URI handling to prevent crash --- cmd/gtkplayer/main.go | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/cmd/gtkplayer/main.go b/cmd/gtkplayer/main.go index 797d874..606708d 100644 --- a/cmd/gtkplayer/main.go +++ b/cmd/gtkplayer/main.go @@ -267,16 +267,17 @@ func preferDark() { } func setupDragDest(p *pane, win *gtk.Window) { - // Accept URI drops - if target, err := gtk.TargetEntryNew("text/uri-list", gtk.TARGET_OTHER_APP, 0); err == nil { - p.area.DragDestSet(gtk.DEST_DEFAULT_ALL, []gtk.TargetEntry{*target}, gdk.ACTION_COPY) + // Accept URI drops using a target list + p.area.DragDestSet(gtk.DEST_DEFAULT_ALL, nil, gdk.ACTION_COPY) + if tl, err := gtk.TargetListNew([]gtk.TargetEntry{}); err == nil && tl != nil { + tl.AddURITargets(0) + p.area.DragDestSetTargetList(tl) } p.area.Connect("drag-data-received", func(_ *gtk.DrawingArea, ctx *gdk.DragContext, x, y int, data *gtk.SelectionData, info uint, t uint32) { uris := data.GetURIs() if len(uris) == 0 { return } - // Take first URI if path := uriToPath(uris[0]); path != "" { loadIntoPane(p, path) }