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)

Reply via email to