VirtualBox

Changeset 66718 in vbox for trunk


Ignore:
Timestamp:
Apr 28, 2017 10:35:48 AM (8 years ago)
Author:
vboxsync
Message:

FE/Qt: bugref:8847: Host Network Manager: Bug fix for r115089: Use network name instead of interface name for DHCP server.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Frontends/VirtualBox/src/hostnetwork/UIHostNetworkManager.cpp

    r66697 r66718  
    565565        return;
    566566
    567     /* Get VBox for further activities: */
    568     CVirtualBox comVBox = vboxGlobal().virtualBox();
    569 
    570     /* Find corresponding DHCP server (create if necessary): */
    571     CDHCPServer comServer = comVBox.FindDHCPServerByNetworkName(data.m_interface.m_strName);
    572     if (!comVBox.isOk() || comServer.isNull())
    573         comServer = comVBox.CreateDHCPServer(data.m_interface.m_strName);
     567    /* Get host for further activities: */
     568    CHost comHost = vboxGlobal().host();
     569
     570    /* Find corresponding interface: */
     571    CHostNetworkInterface comInterface = comHost.FindHostNetworkInterfaceByName(data.m_interface.m_strName);
    574572
    575573    /* Show error message if necessary: */
    576     if (!comVBox.isOk() || comServer.isNull())
    577         msgCenter().cannotCreateDHCPServer(comVBox, data.m_interface.m_strName, this);
     574    if (!comHost.isOk() || comInterface.isNull())
     575        msgCenter().cannotFindHostNetworkInterface(comHost, data.m_interface.m_strName, this);
    578576    else
    579577    {
    580         /* Save whether DHCP server is enabled: */
    581         if (comServer.isOk())
    582             comServer.SetEnabled(!data.m_dhcpserver.m_fEnabled);
     578        /* Get network name for further activities: */
     579        const QString strNetworkName = comInterface.GetNetworkName();
    583580
    584581        /* Show error message if necessary: */
    585         if (!comServer.isOk())
    586             msgCenter().cannotSaveDHCPServerParameter(comServer, this);
     582        if (!comInterface.isOk())
     583            msgCenter().cannotAcquireHostNetworkInterfaceParameter(comInterface, this);
     584        else
    587585        {
    588             /* Manually toggle the DHCP server status: */
    589             data.m_dhcpserver.m_fEnabled = !data.m_dhcpserver.m_fEnabled;
    590 
    591             /* Update interface in the tree: */
    592             updateItemForNetworkHost(data, true, pChangedItem);
    593 
    594             /* Adjust tree-widget: */
    595             sltAdjustTreeWidget();
     586            /* Get VBox for further activities: */
     587            CVirtualBox comVBox = vboxGlobal().virtualBox();
     588
     589            /* Find corresponding DHCP server (create if necessary): */
     590            CDHCPServer comServer = comVBox.FindDHCPServerByNetworkName(strNetworkName);
     591            if (!comVBox.isOk() || comServer.isNull())
     592                comServer = comVBox.CreateDHCPServer(strNetworkName);
     593
     594            /* Show error message if necessary: */
     595            if (!comVBox.isOk() || comServer.isNull())
     596                msgCenter().cannotCreateDHCPServer(comVBox, strNetworkName, this);
     597            else
     598            {
     599                /* Save whether DHCP server is enabled: */
     600                if (comServer.isOk())
     601                    comServer.SetEnabled(!data.m_dhcpserver.m_fEnabled);
     602
     603                /* Show error message if necessary: */
     604                if (!comServer.isOk())
     605                    msgCenter().cannotSaveDHCPServerParameter(comServer, this);
     606                {
     607                    /* Update interface in the tree: */
     608                    loadHostNetwork(comInterface, data);
     609                    updateItemForNetworkHost(data, true, pChangedItem);
     610
     611                    /* Adjust tree-widget: */
     612                    sltAdjustTreeWidget();
     613                }
     614            }
    596615        }
    597616    }
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