diff options
author | 2009-07-28 18:24:51 -0700 | |
---|---|---|
committer | 2009-07-29 12:05:36 -0700 | |
commit | 9bb8fd77c8dc177aab9ac96bed4f55972dcda70a (patch) | |
tree | 65f29284d166ac676ef052df99ed8bcfb237ccbb /libs/utils/BackupData.cpp | |
parent | 0ac031b3d29c6de90895c875991585812dc7388f (diff) |
Only restore the bits for wallpapers that aren't built in.
Diffstat (limited to 'libs/utils/BackupData.cpp')
-rw-r--r-- | libs/utils/BackupData.cpp | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/libs/utils/BackupData.cpp b/libs/utils/BackupData.cpp index c51d989b4c50..0cef35aed5d6 100644 --- a/libs/utils/BackupData.cpp +++ b/libs/utils/BackupData.cpp @@ -193,6 +193,7 @@ BackupDataReader::Status() if ((actual) != (expected)) { \ if ((actual) == 0) { \ m_status = EIO; \ + m_done = true; \ } else { \ m_status = errno; \ } \ @@ -222,7 +223,7 @@ BackupDataReader::ReadNextHeader(bool* done, int* type) amt = skip_padding(); if (amt == EIO) { - *done = true; + *done = m_done = true; return NO_ERROR; } else if (amt != NO_ERROR) { @@ -338,6 +339,10 @@ BackupDataReader::ReadEntityData(void* data, size_t size) m_status = errno; return -1; } + if (amt == 0) { + m_status = EIO; + m_done = true; + } m_pos += amt; return amt; } |