This fix solves many other GTK assertion errors in MegaMek. The
directory needs to be set to the current working directory at the
beginning.
2006-02-28 Lillian Angel <[EMAIL PROTECTED]>
* gnu/java/awt/peer/gtk/GtkFileDialogPeer.java
(create): Initially set the directory to the current working
directory.
(setDirectory): Removed else-if. No need for this check.
On Mon, 2006-02-27 at 13:41 -0500, Lillian Angel wrote:
> Some calls in setDirectory were wrong. Fixed this.
>
> 2006-02-27 Lillian Angel <[EMAIL PROTECTED]>
>
> * gnu/java/awt/peer/gtk/GtkFileDialogPeer.java:
> Removed unneeded imports.
> (setDirectory): Fixed call to nativeSetFile, should be
> nativeSetDirectory. Also, should not use currentDirectory, only
> use nativeGetDirectory.
>
>
> On Mon, 2006-02-27 at 11:53 -0500, Lillian Angel wrote:
> > 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.30
diff -u -r1.30 GtkFileDialogPeer.java
--- gnu/java/awt/peer/gtk/GtkFileDialogPeer.java 27 Feb 2006 18:41:16 -0000 1.30
+++ gnu/java/awt/peer/gtk/GtkFileDialogPeer.java 28 Feb 2006 17:52:57 -0000
@@ -67,6 +67,7 @@
FileDialog fd = (FileDialog) awtComponent;
+ nativeSetDirectory(System.getProperty("user.dir"));
setDirectory(fd.getDirectory());
setFile(fd.getFile());
@@ -139,13 +140,11 @@
// 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.
+ currentDirectory = directory;
if (directory.indexOf(FS) == 0)
nativeSetDirectory(directory);
- else if (currentDirectory == null)
- nativeSetDirectory(FS + directory);
else
nativeSetDirectory(nativeGetDirectory() + FS + directory);
- currentDirectory = directory;
}
public void setFilenameFilter (FilenameFilter filter)