summary refs log tree commit diff stats
path: root/widgets/compose.go
diff options
context:
space:
mode:
authorStefan Rakel <rakel@embedded.rwth-aachen.de>2019-06-27 11:06:50 +0200
committerDrew DeVault <sir@cmpwn.com>2019-06-27 09:25:27 -0400
commit59df06fe28ddde3607cb3080636e65d48b762baf (patch)
treee043c640ab6943314edc8c2981786303e83516f0 /widgets/compose.go
parent963d251289fec0cd4a4e82989b621705c3a8c79d (diff)
downloadaerc-59df06fe28ddde3607cb3080636e65d48b762baf.tar.gz
Reopening mailcontent file to fix #166
Because editors like vim use backupfiles and rename them to the original
name, the file handle used can point to the wrong file. Reopening the
file should fix this.
Diffstat (limited to 'widgets/compose.go')
-rw-r--r--widgets/compose.go8
1 files changed, 7 insertions, 1 deletions
diff --git a/widgets/compose.go b/widgets/compose.go
index 8fc34b4..dc12e60 100644
--- a/widgets/compose.go
+++ b/widgets/compose.go
@@ -278,7 +278,13 @@ func (c *Composer) PrepareHeader() (*mail.Header, []string, error) {
 }
 
 func (c *Composer) WriteMessage(header *mail.Header, writer io.Writer) error {
-	c.email.Seek(0, os.SEEK_SET)
+	name := c.email.Name()
+	c.email.Close()
+	file, err := os.Open(name)
+	if err != nil {
+		return errors.Wrap(err, "FileOpen")
+	}
+	c.email = file
 	var body io.Reader
 	reader, err := mail.CreateReader(c.email)
 	if err == nil {