Changeset 94864 in vbox
- Timestamp:
- May 5, 2022 6:29:18 PM (3 years ago)
- svn:sync-xref-src-repo-rev:
- 151264
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Main/src-server/SnapshotImpl.cpp
r94598 r94864 199 199 Assert(pSnapshot->m->pMachine->isWriteLockOnCurrentThread()); 200 200 201 /* Remove initial snapshot from parent snapshot's list of children. */ 202 if (pSnapshot == this) 203 pSnapshot->i_deparent(); 204 201 205 /* Paranoia. Shouldn't be set any more at processing time. */ 202 pSnapshot->m->pParent.setNull();206 Assert(!pSnapshot->m || pSnapshot->m->pParent.isNull()); 203 207 204 208 /* Process all children */ … … 208 212 { 209 213 Snapshot *pChild = *it; 214 215 if (!pChild || !pChild->m) 216 continue; 217 210 218 pChild->m->pParent.setNull(); 211 219 llSnapshotsTodo.push_back(pChild); … … 316 324 { 317 325 Assert(m->pMachine->isWriteLockOnCurrentThread()); 326 327 if (m->pParent.isNull()) 328 return; 329 330 Assert(m->pParent->m); 318 331 319 332 SnapshotsList &llParent = m->pParent->m->llChildren; … … 554 567 llSnapshotsTodo.pop_front(); 555 568 569 /* Check if snapshot is uninitialized already, can happen if an API 570 * client asks at an inconvenient time. */ 571 if (!pSnapshot->m) 572 continue; 573 556 574 cChildren += (ULONG)pSnapshot->m->llChildren.size(); 557 575 … … 891 909 for (SnapshotsList::const_iterator it = itBegin; it != itEnd; ++it) 892 910 { 911 AutoCaller autoCaller(*it); 912 if (FAILED(autoCaller.rc())) 913 continue; 914 893 915 llSnapshotsTodo.push_back(*it); 894 916 current->llChildSnapshots.push_back(settings::Snapshot::Empty);
Note:
See TracChangeset
for help on using the changeset viewer.