]> git.lyx.org Git - lyx.git/blobdiff - src/EmbeddedFiles.cpp
Cosmetics.
[lyx.git] / src / EmbeddedFiles.cpp
index 73db1e4bda2a021775e1e7bec76672af360d052b..a985ea646cea538572c62209ae2cf0e92c1d3bc8 100644 (file)
@@ -256,7 +256,7 @@ void EmbeddedFiles::enable(bool flag)
 }
 
 
-void EmbeddedFiles::registerFile(string const & filename,
+EmbeddedFile & EmbeddedFiles::registerFile(string const & filename,
        bool embed, Inset const * inset, string const & inzipName)
 {
        // filename can be relative or absolute, translate to absolute filename
@@ -271,11 +271,12 @@ void EmbeddedFiles::registerFile(string const & filename,
        if (it != file_list_.end()) {
                it->addInset(inset);
                it->validate();
-               return;
+               return *it;
        }
        // try to be more careful
        file_list_.push_back(EmbeddedFile(abs_filename, 
                getInzipName(abs_filename, inzipName), embed, inset));
+       return file_list_.back();
 }
 
 
@@ -467,7 +468,9 @@ void EmbeddedFiles::writeManifest(ostream & os) const
        EmbeddedFiles::EmbeddedFileList::const_iterator it = begin();
        EmbeddedFiles::EmbeddedFileList::const_iterator it_end = end();
        for (; it != it_end; ++it) {
-               if (!it->valid())
+               // only saved 'extra' files. Other embedded files are saved
+               // with insets.
+               if (!it->valid() || it->refCount() > 0)
                        continue;
                // save the relative path
                os << "\\filename "