Changeset 101138 in vbox for trunk/src/VBox/Main
- Timestamp:
- Sep 18, 2023 10:38:19 AM (17 months ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Main/src-server/MachineImpl.cpp
r101124 r101138 11804 11804 if (mPeer) 11805 11805 { 11806 size_t const oldSize = mNetworkAdapters.size(); 11807 size_t const oldPeerSize = mPeer->mNetworkAdapters.size(); 11808 11806 11809 /* commit everything, even the ones which will go away */ 11807 for (size_t slot = 0; slot < mNetworkAdapters.size(); slot++)11810 for (size_t slot = 0; slot < oldSize; slot++) 11808 11811 mNetworkAdapters[slot]->i_commit(); 11809 11812 /* copy over the new entries, creating a peer and uninit the original */ 11810 mPeer->mNetworkAdapters.resize(RT_MAX(newSize, mPeer->mNetworkAdapters.size())); 11813 mPeer->mNetworkAdapters.resize(RT_MAX(newSize, oldPeerSize)); 11814 /* make sure to have enough room for iterating over the (newly added) slots down below */ 11815 if (newSize > oldSize) 11816 { 11817 mNetworkAdapters.resize(newSize); 11818 11819 com::Utf8Str osTypeId; 11820 ComObjPtr<GuestOSType> osType = NULL; 11821 hrc = getOSTypeId(osTypeId); 11822 if (SUCCEEDED(hrc)) 11823 hrc = mParent->i_findGuestOSType(Bstr(osTypeId), osType); 11824 11825 for (size_t slot = oldSize; slot < newSize; slot++) 11826 { 11827 mNetworkAdapters[slot].createObject(); 11828 mNetworkAdapters[slot]->init(this, (ULONG)slot); 11829 mNetworkAdapters[slot]->i_applyDefaults(SUCCEEDED(hrc) ? osType : NULL); 11830 } 11831 } 11811 11832 for (size_t slot = 0; slot < newSize; slot++) 11812 11833 { … … 11823 11844 } 11824 11845 /* uninit any no longer needed network adapters */ 11825 for (size_t slot = newSize; slot < mNetworkAdapters.size(); ++slot)11846 for (size_t slot = newSize; slot < oldSize; ++slot) 11826 11847 mNetworkAdapters[slot]->uninit(); 11827 for (size_t slot = newSize; slot < mPeer->mNetworkAdapters.size(); ++slot)11848 for (size_t slot = newSize; slot < oldPeerSize; ++slot) 11828 11849 { 11829 11850 if (mPeer->mNetworkAdapters[slot])
Note:
See TracChangeset
for help on using the changeset viewer.