This fixes some gdk assertion errors in MegaMek. The path to the
directory must be absolute, when setting the directory.
2006-02-27 Lillian Angel <[EMAIL PROTECTED]>
* gnu/java/awt/peer/gtk/GtkFileDialogPeer.java
(setDirectory): GtkFileChooser requires an absolute directory
name. Added a check to make the directory passed to
nativeSetDirectory is absolute.
Index: gnu/java/awt/peer/gtk/GtkFileDialogPeer.java
===================================================================
RCS file: /sources/classpath/classpath/gnu/java/awt/peer/gtk/GtkFileDialogPeer.java,v
retrieving revision 1.28
diff -u -r1.28 GtkFileDialogPeer.java
--- gnu/java/awt/peer/gtk/GtkFileDialogPeer.java 26 Aug 2005 04:35:49 -0000 1.28
+++ gnu/java/awt/peer/gtk/GtkFileDialogPeer.java 27 Feb 2006 16:44:49 -0000
@@ -141,9 +141,18 @@
nativeSetFile (FS);
return;
}
-
+
+ // GtkFileChooser requires absolute directory names. If the given directory
+ // name is not absolute, construct it based on current directory if it is not
+ // null.
+ // Otherwise, use FS.
+ if (directory.indexOf(FS) == 0)
+ nativeSetDirectory(directory);
+ else if (currentDirectory == null)
+ nativeSetDirectory(FS + directory);
+ else
+ nativeSetDirectory(currentDirectory + FS + directory);
currentDirectory = directory;
- nativeSetDirectory (directory);
}
public void setFilenameFilter (FilenameFilter filter)