VirtualBox

Changeset 105523 in vbox for trunk/src/VBox/Frontends


Ignore:
Timestamp:
Jul 26, 2024 3:17:22 PM (6 months ago)
Author:
vboxsync
Message:

FE/Qt: bugref:10543: Make sure Guest OS Type Manager do not cache empty OS subtype (like for Windows etc).

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Frontends/VirtualBox/src/globals/UIGuestOSType.cpp

    r105519 r105523  
    198198    }
    199199
    200     /* Cache or update subtype info: */
    201     UISubtypeInfo si(strSubtype, enmArch, fSupported);
    202     if (!m_guestOSSubtypes.contains(strFamilyId))
    203         m_guestOSSubtypes[strFamilyId] << si;
    204     else
    205     {
    206         UIGuestOSSubtypeInfo &subtypes = m_guestOSSubtypes[strFamilyId];
    207         if (!subtypes.contains(si))
    208             subtypes << si;
     200    /* Cache or update subtype info (if it's not empty): */
     201    if (!strSubtype.isEmpty())
     202    {
     203        UISubtypeInfo si(strSubtype, enmArch, fSupported);
     204        if (!m_guestOSSubtypes.contains(strFamilyId))
     205            m_guestOSSubtypes[strFamilyId] << si;
    209206        else
    210207        {
    211             const int iIndex = subtypes.indexOf(si);
    212             AssertReturnVoid(iIndex >= 0);
    213             if (subtypes.at(iIndex).m_enmArch != enmArch)
    214                 subtypes[iIndex].m_enmArch = KPlatformArchitecture_None; // means any
    215             if (subtypes.at(iIndex).m_fSupported != fSupported)
    216                 subtypes[iIndex].m_fSupported = true; // cause at least one is supported
     208            UIGuestOSSubtypeInfo &subtypes = m_guestOSSubtypes[strFamilyId];
     209            if (!subtypes.contains(si))
     210                subtypes << si;
     211            else
     212            {
     213                const int iIndex = subtypes.indexOf(si);
     214                AssertReturnVoid(iIndex >= 0);
     215                if (subtypes.at(iIndex).m_enmArch != enmArch)
     216                    subtypes[iIndex].m_enmArch = KPlatformArchitecture_None; // means any
     217                if (subtypes.at(iIndex).m_fSupported != fSupported)
     218                    subtypes[iIndex].m_fSupported = true; // cause at least one is supported
     219            }
    217220        }
    218221    }
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette