Index: istanbul-0.2.2/istanbul/main/save_window.py
===================================================================
--- istanbul-0.2.2.orig/istanbul/main/save_window.py	2007-08-11 15:53:00.000000000 +0200
+++ istanbul-0.2.2/istanbul/main/save_window.py	2007-08-11 16:58:11.000000000 +0200
@@ -253,11 +253,12 @@
 
         if Preferences().has_gnomevfs():
             import gnomevfs
+            XFER_TARGET_DEFAULT_PERMS = 1 << 12
             try:
                 trysave = gnomevfs.xfer_uri(gnomevfs.URI("file://%s" % self.location), 
                     gnomevfs.URI(self.filechooser.get_uri()), 
                     gnomevfs.XFER_DELETE_ITEMS,
-                    gnomevfs.XFER_ERROR_MODE_ABORT, 
+                    gnomevfs.XFER_ERROR_MODE_ABORT | XFER_TARGET_DEFAULT_PERMS, 
                     gnomevfs.XFER_OVERWRITE_MODE_ABORT)
             except gnomevfs.FileExistsError:
                 dialog = gtk.MessageDialog(self,
@@ -276,7 +277,7 @@
                         gnomevfs.URI("file://%s" % self.location), 
                         gnomevfs.URI(self.filechooser.get_uri()), 
                         gnomevfs.XFER_DELETE_ITEMS,
-                        gnomevfs.XFER_ERROR_MODE_ABORT, 
+                        gnomevfs.XFER_ERROR_MODE_ABORT | XFER_TARGET_DEFAULT_PERMS, 
                         gnomevfs.XFER_OVERWRITE_MODE_REPLACE)
                     except Exception:
                         dialog = gtk.MessageDialog(self,
@@ -299,7 +300,10 @@
             import shutil
 
             try:
+                umask = os.umask(0)
+                empty_umask = os.umask(umask)
                 shutil.move(self.location, self.filechooser.get_uri()[7:])
+                os.chmod(self.filechooser.get_uri()[7:], 0777-umask)
             except Exception:
                 dialog = gtk.MessageDialog(self,
                     gtk.DIALOG_MODAL | gtk.DIALOG_DESTROY_WITH_PARENT,
