| 295 | } |
| 296 | |
| 297 | void PhotoData::collectLocalData(not_null<PhotoData*> local) { |
| 298 | if (local == this) { |
| 299 | return; |
| 300 | } |
| 301 | |
| 302 | for (auto i = 0; i != kPhotoSizeCount; ++i) { |
| 303 | if (const auto from = local->_images[i].location.file().cacheKey()) { |
| 304 | if (const auto to = _images[i].location.file().cacheKey()) { |
| 305 | _owner->cache().copyIfEmpty(from, to); |
| 306 | } |
| 307 | } |
| 308 | } |
| 309 | if (const auto localMedia = local->activeMediaView()) { |
| 310 | auto media = createMediaView(); |
| 311 | media->collectLocalData(localMedia.get()); |
| 312 | _owner->keepAlive(std::move(media)); |
| 313 | } |
| 314 | } |
| 315 | |
| 316 | bool PhotoData::isNull() const { |
| 317 | return !_images[PhotoSizeIndex(PhotoSize::Large)].location.valid(); |
no test coverage detected