From 68689bf3a70bc326c91a8e5f62d2348000df5944 Mon Sep 17 00:00:00 2001
From: Ivica Ico Bukvic <ico@vt.edu>
Date: Wed, 30 Jul 2014 14:23:25 -0400
Subject: [PATCH] *fixed bug where patches with relative paths and multiple
 patches did not open properly within the existing instance of pd-l2ork

---
 pd/src/pd.tk    | 11 +++++++++--
 pd/src/s_main.c |  2 +-
 2 files changed, 10 insertions(+), 3 deletions(-)

diff --git a/pd/src/pd.tk b/pd/src/pd.tk
index a115189cc..7f15f13d5 100644
--- a/pd/src/pd.tk
+++ b/pd/src/pd.tk
@@ -9388,8 +9388,15 @@ proc pdtk_check_unique {unique filenames} {
 	#puts stderr "pdtk_check_unique $unique $filenames"
 	global appname
 	if { $unique == 0 } {
-		#puts stderr "send pd-l2ork pdtk_open_files_via_unique $filenames"
-		set outcome [catch {send pd-l2ork pdtk_open_files_via_unique $filenames}]
+		foreach file $filenames {
+			cd [file dirname $file]
+			set dir [pwd]
+			set name [file tail $file]
+			#puts stderr "********DIR:$dir FILE:$name COMBINED:[file join $dir $name]"
+			lappend final_filenames [file join $dir $name]
+		}
+		#puts stderr "send pd-l2ork pdtk_open_files_via_unique $final_filenames"
+		set outcome [catch {send pd-l2ork pdtk_open_files_via_unique \{$final_filenames\}}]
 		#puts stderr "outcome = $outcome"
 		if { $outcome == 0 } {
 			menu_really_quit
diff --git a/pd/src/s_main.c b/pd/src/s_main.c
index 6692d346a..5b3700f84 100644
--- a/pd/src/s_main.c
+++ b/pd/src/s_main.c
@@ -325,7 +325,7 @@ int sys_main(int argc, char **argv)
             return(1);
         }
     }
-    sys_vgui("pdtk_check_unique %d %s\n", sys_unique,
+    sys_vgui("pdtk_check_unique %d {%s}\n", sys_unique,
         (filenames ? filenames : "0"));
     if (sys_externalschedlib)
         return (sys_run_scheduler(sys_externalschedlibname,
-- 
GitLab