Only in WINGs/: Makefile
Common subdirectories: WINGs.orig/Resources and WINGs/Resources
diff -uB WINGs.orig/WINGs.h WINGs/WINGs.h
--- WINGs.orig/WINGs.h	Sat Sep 26 11:14:41 1998
+++ WINGs/WINGs.h	Sat Sep 26 11:15:50 1998
@@ -963,7 +963,7 @@
 /* ....................................................................... */
 
 /* only 1 instance per WMScreen */
-WMOpenPanel *WMGetOpenPanel(WMScreen *app);
+WMOpenPanel *WMGetOpenPanel(WMScreen *scrPtr);
 
 WMSavePanel *WMGetSavePanel(WMScreen *scrPtr);
 
diff -uB WINGs.orig/wfilepanel.c WINGs/wfilepanel.c
--- WINGs.orig/wfilepanel.c	Sat Sep 26 11:14:41 1998
+++ WINGs/wfilepanel.c	Sat Sep 26 15:03:57 1998
@@ -246,6 +246,9 @@
     if (panel == WMWidgetScreen(panel->win)->sharedOpenPanel) {
 	WMWidgetScreen(panel->win)->sharedOpenPanel = NULL;
     }
+    if (panel == WMWidgetScreen(panel->win)->sharedSavePanel) {
+        WMWidgetScreen(panel->win)->sharedSavePanel = NULL;
+    }
     WMRemoveNotificationObserver(panel);
     WMUnmapWidget(panel->win);
     WMDestroyWidget(panel->win);
@@ -501,8 +504,13 @@
     if (path[len-1]=='/') {
 	file = WMGetTextFieldText(panel->fileField);
 	tmp = wmalloc(strlen(path)+strlen(file)+8);
-	strcpy(tmp, path);
-	strcat(tmp, file);
+	if (file[0]!='/') {
+	    strcpy(tmp, path);
+	    strcat(tmp, file);
+	}
+        else
+	    strcpy(tmp, file);
+
 	free(file);
 	free(path);
 	return tmp;
