From b5b2f1c2ad13436c2bf19ff9e6f35d8400505ff7 Mon Sep 17 00:00:00 2001 From: Matthew Flatt Date: Fri, 30 Aug 2013 12:40:08 -0600 Subject: [PATCH] fix multi-file drag-and-drop on Unix Thanks to Laurent Orseau. --- .../gui-lib/mred/private/wx/gtk/window.rkt | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) diff --git a/pkgs/gui-pkgs/gui-lib/mred/private/wx/gtk/window.rkt b/pkgs/gui-pkgs/gui-lib/mred/private/wx/gtk/window.rkt index ac7027f6cf..494b7e5e96 100644 --- a/pkgs/gui-pkgs/gui-lib/mred/private/wx/gtk/window.rkt +++ b/pkgs/gui-pkgs/gui-lib/mred/private/wx/gtk/window.rkt @@ -132,16 +132,15 @@ (gtk_selection_data_get_data data) (gtk_selection_data_get_length data) 1)]) - (cond - [(regexp-match #rx#"^file://(.*)\r\n$" bstr) - => (lambda (m) - (queue-window-event wx - (lambda () - (let ([path - (string->path - (uri-decode - (bytes->string/utf-8 (cadr m))))]) - (send wx on-drop-file path)))))])))))) + (for ([m (regexp-match* #rx#"file://([^\r]*)\r\n" bstr + #:match-select cadr)]) + (queue-window-event wx + (lambda () + (let ([path + (string->path + (uri-decode + (bytes->string/utf-8 m)))]) + (send wx on-drop-file path)))))))))) ;; ----------------------------------------