- // load files
- for_each(files.begin(), files.end(),
- bind(&LyXView::loadLyXFile, view, _1, true));
-
- // if a file is specified, I assume that user wants to edit *that* file
- if (files.empty() && lyxrc.load_session) {
- vector<string> const & lastopened = pimpl_->session_->lastOpened().getfiles();
- // do not add to the lastfile list since these files are restored from
- // last seesion, and should be already there (regular files), or should
- // not be added at all (help files).
- for_each(lastopened.begin(), lastopened.end(),
- bind(&LyXView::loadLyXFile, view, _1, false));
+ // if some files were specified at command-line we assume that the
+ // user wants to edit *these* files and not to restore the session.
+ if (!pimpl_->files_to_load_.empty()) {
+ for_each(pimpl_->files_to_load_.begin(),
+ pimpl_->files_to_load_.end(),
+ bind(&LyXView::loadLyXFile, view, _1, true));
+ // clear this list to save a few bytes of RAM
+ pimpl_->files_to_load_.clear();
+ pimpl_->session_->lastOpened().clear();
+ return;