Index: /trunk/src/VBox/Frontends/VirtualBox/src/networkmanager/UIDetailsWidgetHostNetwork.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/networkmanager/UIDetailsWidgetHostNetwork.cpp	(revision 87267)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/networkmanager/UIDetailsWidgetHostNetwork.cpp	(revision 87268)
@@ -75,18 +75,31 @@
 {
     /* Translate tab-widget: */
-    m_pTabWidget->setTabText(0, tr("&Adapter"));
-    m_pTabWidget->setTabText(1, tr("&DHCP Server"));
+    if (m_pTabWidget)
+    {
+        m_pTabWidget->setTabText(0, tr("&Adapter"));
+        m_pTabWidget->setTabText(1, tr("&DHCP Server"));
+    }
 
     /* Translate 'Interface' tab content: */
-    m_pButtonAutomatic->setText(tr("Configure Adapter &Automatically"));
-    m_pButtonManual->setText(tr("Configure Adapter &Manually"));
-    m_pLabelIPv4->setText(tr("&IPv4 Address:"));
-    m_pEditorIPv4->setToolTip(tr("Holds the host IPv4 address for this adapter."));
-    m_pLabelNMv4->setText(tr("IPv4 Network &Mask:"));
-    m_pEditorNMv4->setToolTip(tr("Holds the host IPv4 network mask for this adapter."));
-    m_pLabelIPv6->setText(tr("I&Pv6 Address:"));
-    m_pEditorIPv6->setToolTip(tr("Holds the host IPv6 address for this adapter if IPv6 is supported."));
-    m_pLabelNMv6->setText(tr("IPv6 Prefix &Length:"));
-    m_pEditorNMv6->setToolTip(tr("Holds the host IPv6 prefix length for this adapter if IPv6 is supported."));
+    if (m_pButtonAutomatic)
+        m_pButtonAutomatic->setText(tr("Configure Adapter &Automatically"));
+    if (m_pButtonManual)
+        m_pButtonManual->setText(tr("Configure Adapter &Manually"));
+    if (m_pLabelIPv4)
+        m_pLabelIPv4->setText(tr("&IPv4 Address:"));
+    if (m_pEditorIPv4)
+        m_pEditorIPv4->setToolTip(tr("Holds the host IPv4 address for this adapter."));
+    if (m_pLabelNMv4)
+        m_pLabelNMv4->setText(tr("IPv4 Network &Mask:"));
+    if (m_pEditorNMv4)
+        m_pEditorNMv4->setToolTip(tr("Holds the host IPv4 network mask for this adapter."));
+    if (m_pLabelIPv6)
+        m_pLabelIPv6->setText(tr("I&Pv6 Address:"));
+    if (m_pEditorIPv6)
+        m_pEditorIPv6->setToolTip(tr("Holds the host IPv6 address for this adapter if IPv6 is supported."));
+    if (m_pLabelNMv6)
+        m_pLabelNMv6->setText(tr("IPv6 Prefix &Length:"));
+    if (m_pEditorNMv6)
+        m_pEditorNMv6->setToolTip(tr("Holds the host IPv6 prefix length for this adapter if IPv6 is supported."));
     if (m_pButtonBoxInterface)
     {
@@ -104,14 +117,25 @@
 
     /* Translate 'DHCP server' tab content: */
-    m_pCheckBoxDHCP->setText(tr("&Enable Server"));
-    m_pCheckBoxDHCP->setToolTip(tr("When checked, the DHCP Server will be enabled for this network on machine start-up."));
-    m_pLabelDHCPAddress->setText(tr("Server Add&ress:"));
-    m_pEditorDHCPAddress->setToolTip(tr("Holds the address of the DHCP server servicing the network associated with this host-only adapter."));
-    m_pLabelDHCPMask->setText(tr("Server &Mask:"));
-    m_pEditorDHCPMask->setToolTip(tr("Holds the network mask of the DHCP server servicing the network associated with this host-only adapter."));
-    m_pLabelDHCPLowerAddress->setText(tr("&Lower Address Bound:"));
-    m_pEditorDHCPLowerAddress->setToolTip(tr("Holds the lower address bound offered by the DHCP server servicing the network associated with this host-only adapter."));
-    m_pLabelDHCPUpperAddress->setText(tr("&Upper Address Bound:"));
-    m_pEditorDHCPUpperAddress->setToolTip(tr("Holds the upper address bound offered by the DHCP server servicing the network associated with this host-only adapter."));
+    if (m_pCheckBoxDHCP)
+    {
+        m_pCheckBoxDHCP->setText(tr("&Enable Server"));
+        m_pCheckBoxDHCP->setToolTip(tr("When checked, the DHCP Server will be enabled for this network on machine start-up."));
+    }
+    if (m_pLabelDHCPAddress)
+        m_pLabelDHCPAddress->setText(tr("Server Add&ress:"));
+    if (m_pEditorDHCPAddress)
+        m_pEditorDHCPAddress->setToolTip(tr("Holds the address of the DHCP server servicing the network associated with this host-only adapter."));
+    if (m_pLabelDHCPMask)
+        m_pLabelDHCPMask->setText(tr("Server &Mask:"));
+    if (m_pEditorDHCPMask)
+        m_pEditorDHCPMask->setToolTip(tr("Holds the network mask of the DHCP server servicing the network associated with this host-only adapter."));
+    if (m_pLabelDHCPLowerAddress)
+        m_pLabelDHCPLowerAddress->setText(tr("&Lower Address Bound:"));
+    if (m_pEditorDHCPLowerAddress)
+        m_pEditorDHCPLowerAddress->setToolTip(tr("Holds the lower address bound offered by the DHCP server servicing the network associated with this host-only adapter."));
+    if (m_pLabelDHCPUpperAddress)
+        m_pLabelDHCPUpperAddress->setText(tr("&Upper Address Bound:"));
+    if (m_pEditorDHCPUpperAddress)
+        m_pEditorDHCPUpperAddress->setToolTip(tr("Holds the upper address bound offered by the DHCP server servicing the network associated with this host-only adapter."));
     if (m_pButtonBoxServer)
     {
@@ -214,7 +238,7 @@
 void UIDetailsWidgetHostNetwork::sltHandleButtonBoxClick(QAbstractButton *pButton)
 {
-    /* Make sure button-box exists: */
-    AssertPtrReturnVoid(m_pButtonBoxInterface);
-    AssertPtrReturnVoid(m_pButtonBoxServer);
+    /* Make sure button-boxes exist: */
+    if (!m_pButtonBoxInterface || !m_pButtonBoxServer)
+        return;
 
     /* Disable buttons first of all: */
@@ -250,5 +274,5 @@
     /* Create layout: */
     QVBoxLayout *pLayout = new QVBoxLayout(this);
-    AssertPtrReturnVoid(pLayout);
+    if (pLayout)
     {
         /* Configure layout: */
@@ -264,5 +288,5 @@
     /* Create tab-widget: */
     m_pTabWidget = new QITabWidget;
-    AssertPtrReturnVoid(m_pTabWidget);
+    if (m_pTabWidget)
     {
         /* Prepare 'Interface' tab: */
@@ -280,9 +304,9 @@
     /* Create 'Interface' tab: */
     QWidget *pTabInterface = new QWidget;
-    AssertPtrReturnVoid(pTabInterface);
+    if (pTabInterface)
     {
         /* Create 'Interface' layout: */
         QGridLayout *pLayoutInterface = new QGridLayout(pTabInterface);
-        AssertPtrReturnVoid(pLayoutInterface);
+        if (pLayoutInterface)
         {
 #ifdef VBOX_WS_MAC
@@ -297,5 +321,5 @@
             /* Create automatic interface configuration layout: */
             QHBoxLayout *pLayoutAutomatic = new QHBoxLayout;
-            AssertPtrReturnVoid(pLayoutAutomatic);
+            if (pLayoutAutomatic)
             {
                 /* Configure layout: */
@@ -304,5 +328,5 @@
                 /* Create automatic interface configuration radio-button: */
                 m_pButtonAutomatic = new QRadioButton;
-                AssertPtrReturnVoid(m_pButtonAutomatic);
+                if (m_pButtonAutomatic)
                 {
                     /* Configure radio-button: */
@@ -314,5 +338,5 @@
                 /* Create automatic interface configuration error pane: */
                 m_pErrorPaneAutomatic = new QLabel;
-                AssertPtrReturnVoid(m_pErrorPaneAutomatic);
+                if (m_pErrorPaneAutomatic)
                 {
                     /* Configure label: */
@@ -333,5 +357,5 @@
             /* Create manual interface configuration layout: */
             QHBoxLayout *pLayoutManual = new QHBoxLayout;
-            AssertPtrReturnVoid(pLayoutManual);
+            if (pLayoutManual)
             {
                 /* Configure layout: */
@@ -339,5 +363,5 @@
                 /* Create manual interface configuration radio-button: */
                 m_pButtonManual = new QRadioButton;
-                AssertPtrReturnVoid(m_pButtonManual);
+                if (m_pButtonManual)
                 {
                     /* Configure radio-button: */
@@ -349,5 +373,5 @@
                 /* Create manual interface configuration error pane: */
                 m_pErrorPaneManual = new QLabel;
-                AssertPtrReturnVoid(m_pErrorPaneManual);
+                if (m_pErrorPaneManual)
                 {
                     /* Configure label: */
@@ -368,5 +392,5 @@
             /* Create IPv4 address label: */
             m_pLabelIPv4 = new QLabel;
-            AssertPtrReturnVoid(m_pLabelIPv4);
+            if (m_pLabelIPv4)
             {
                 /* Configure label: */
@@ -377,5 +401,5 @@
             /* Create IPv4 layout: */
             QHBoxLayout *pLayoutIPv4 = new QHBoxLayout;
-            AssertPtrReturnVoid(pLayoutIPv4);
+            if (pLayoutIPv4)
             {
                 /* Configure layout: */
@@ -383,5 +407,5 @@
                 /* Create IPv4 address editor: */
                 m_pEditorIPv4 = new QILineEdit;
-                AssertPtrReturnVoid(m_pEditorIPv4);
+                if (m_pEditorIPv4)
                 {
                     /* Configure editor: */
@@ -394,5 +418,5 @@
                 /* Create IPv4 error pane: */
                 m_pErrorPaneIPv4 = new QLabel;
-                AssertPtrReturnVoid(m_pErrorPaneIPv4);
+                if (m_pErrorPaneIPv4)
                 {
                     /* Configure label: */
@@ -409,5 +433,5 @@
             /* Create NMv4 network mask label: */
             m_pLabelNMv4 = new QLabel;
-            AssertPtrReturnVoid(m_pLabelNMv4);
+            if (m_pLabelNMv4)
             {
                 /* Configure label: */
@@ -418,5 +442,5 @@
             /* Create NMv4 layout: */
             QHBoxLayout *pLayoutNMv4 = new QHBoxLayout;
-            AssertPtrReturnVoid(pLayoutNMv4);
+            if (pLayoutNMv4)
             {
                 /* Configure layout: */
@@ -424,5 +448,5 @@
                 /* Create NMv4 network mask editor: */
                 m_pEditorNMv4 = new QILineEdit;
-                AssertPtrReturnVoid(m_pEditorNMv4);
+                if (m_pEditorNMv4)
                 {
                     /* Configure editor: */
@@ -435,5 +459,5 @@
                 /* Create NMv4 error pane: */
                 m_pErrorPaneNMv4 = new QLabel;
-                AssertPtrReturnVoid(m_pErrorPaneNMv4);
+                if (m_pErrorPaneNMv4)
                 {
                     /* Configure label: */
@@ -450,5 +474,5 @@
             /* Create IPv6 address label: */
             m_pLabelIPv6 = new QLabel;
-            AssertPtrReturnVoid(m_pLabelIPv6);
+            if (m_pLabelIPv6)
             {
                 /* Configure label: */
@@ -459,5 +483,5 @@
             /* Create IPv6 layout: */
             QHBoxLayout *pLayoutIPv6 = new QHBoxLayout;
-            AssertPtrReturnVoid(pLayoutIPv6);
+            if (pLayoutIPv6)
             {
                 /* Configure layout: */
@@ -465,5 +489,5 @@
                 /* Create IPv6 address editor: */
                 m_pEditorIPv6 = new QILineEdit;
-                AssertPtrReturnVoid(m_pEditorIPv6);
+                if (m_pEditorIPv6)
                 {
                     /* Configure editor: */
@@ -476,5 +500,5 @@
                 /* Create IPv4 error pane: */
                 m_pErrorPaneIPv6 = new QLabel;
-                AssertPtrReturnVoid(m_pErrorPaneIPv6);
+                if (m_pErrorPaneIPv6)
                 {
                     /* Configure label: */
@@ -491,5 +515,5 @@
             /* Create NMv6 network mask label: */
             m_pLabelNMv6 = new QLabel;
-            AssertPtrReturnVoid(m_pLabelNMv6);
+            if (m_pLabelNMv6)
             {
                 /* Configure label: */
@@ -500,5 +524,5 @@
             /* Create NMv6 layout: */
             QHBoxLayout *pLayoutNMv6 = new QHBoxLayout;
-            AssertPtrReturnVoid(pLayoutNMv6);
+            if (pLayoutNMv6)
             {
                 /* Configure layout: */
@@ -506,5 +530,5 @@
                 /* Create NMv6 network mask editor: */
                 m_pEditorNMv6 = new QILineEdit;
-                AssertPtrReturnVoid(m_pEditorNMv6);
+                if (m_pEditorNMv6)
                 {
                     /* Configure editor: */
@@ -517,5 +541,5 @@
                 /* Create NMv6 error pane: */
                 m_pErrorPaneNMv6 = new QLabel;
-                AssertPtrReturnVoid(m_pErrorPaneNMv6);
+                if (m_pErrorPaneNMv6)
                 {
                     /* Configure label: */
@@ -537,5 +561,5 @@
                                pLayoutInterface->spacing() - 1;
             QSpacerItem *pSpacer1 = new QSpacerItem(iWidth, 0, QSizePolicy::Fixed, QSizePolicy::Expanding);
-            AssertPtrReturnVoid(pSpacer1);
+            if (pSpacer1)
             {
                 /* Add into layout: */
@@ -544,5 +568,5 @@
             /* Create stretch: */
             QSpacerItem *pSpacer2 = new QSpacerItem(0, 0, QSizePolicy::Minimum, QSizePolicy::Expanding);
-            AssertPtrReturnVoid(pSpacer2);
+            if (pSpacer2)
             {
                 /* Add into layout: */
@@ -555,11 +579,13 @@
                 /* Create button-box: */
                 m_pButtonBoxInterface = new QIDialogButtonBox;
-                AssertPtrReturnVoid(m_pButtonBoxInterface);
-                /* Configure button-box: */
-                m_pButtonBoxInterface->setStandardButtons(QDialogButtonBox::Cancel | QDialogButtonBox::Ok);
-                connect(m_pButtonBoxInterface, &QIDialogButtonBox::clicked, this, &UIDetailsWidgetHostNetwork::sltHandleButtonBoxClick);
-
-                /* Add into layout: */
-                pLayoutInterface->addWidget(m_pButtonBoxInterface, 7, 0, 1, 3);
+                if (m_pButtonBoxInterface)
+                {
+                    /* Configure button-box: */
+                    m_pButtonBoxInterface->setStandardButtons(QDialogButtonBox::Cancel | QDialogButtonBox::Ok);
+                    connect(m_pButtonBoxInterface, &QIDialogButtonBox::clicked, this, &UIDetailsWidgetHostNetwork::sltHandleButtonBoxClick);
+
+                    /* Add into layout: */
+                    pLayoutInterface->addWidget(m_pButtonBoxInterface, 7, 0, 1, 3);
+                }
             }
         }
@@ -573,9 +599,9 @@
     /* Create 'DHCP server' tab: */
     QWidget *pTabDHCPServer = new QWidget;
-    AssertPtrReturnVoid(pTabDHCPServer);
+    if (pTabDHCPServer)
     {
         /* Create 'DHCP server' layout: */
         QGridLayout *pLayoutDHCPServer = new QGridLayout(pTabDHCPServer);
-        AssertPtrReturnVoid(pLayoutDHCPServer);
+        if (pLayoutDHCPServer)
         {
 #ifdef VBOX_WS_MAC
@@ -590,5 +616,5 @@
             /* Create DHCP server status check-box: */
             m_pCheckBoxDHCP = new QCheckBox;
-            AssertPtrReturnVoid(m_pCheckBoxDHCP);
+            if (m_pCheckBoxDHCP)
             {
                 /* Configure check-box: */
@@ -604,5 +630,5 @@
             /* Create DHCP address label: */
             m_pLabelDHCPAddress = new QLabel;
-            AssertPtrReturnVoid(m_pLabelDHCPAddress);
+            if (m_pLabelDHCPAddress)
             {
                 /* Configure label: */
@@ -613,5 +639,5 @@
             /* Create DHCP address layout: */
             QHBoxLayout *pLayoutDHCPAddress = new QHBoxLayout;
-            AssertPtrReturnVoid(pLayoutDHCPAddress);
+            if (pLayoutDHCPAddress)
             {
                 /* Configure layout: */
@@ -619,5 +645,5 @@
                 /* Create DHCP address editor: */
                 m_pEditorDHCPAddress = new QILineEdit;
-                AssertPtrReturnVoid(m_pEditorDHCPAddress);
+                if (m_pEditorDHCPAddress)
                 {
                     /* Configure editor: */
@@ -630,5 +656,5 @@
                 /* Create DHCP address error pane: */
                 m_pErrorPaneDHCPAddress = new QLabel;
-                AssertPtrReturnVoid(m_pErrorPaneDHCPAddress);
+                if (m_pErrorPaneDHCPAddress)
                 {
                     /* Configure label: */
@@ -645,5 +671,5 @@
             /* Create DHCP network mask label: */
             m_pLabelDHCPMask = new QLabel;
-            AssertPtrReturnVoid(m_pLabelDHCPMask);
+            if (m_pLabelDHCPMask)
             {
                 /* Configure label: */
@@ -654,5 +680,5 @@
             /* Create DHCP mask layout: */
             QHBoxLayout *pLayoutDHCPMask = new QHBoxLayout;
-            AssertPtrReturnVoid(pLayoutDHCPMask);
+            if (pLayoutDHCPMask)
             {
                 /* Configure layout: */
@@ -660,5 +686,5 @@
                 /* Create DHCP network mask editor: */
                 m_pEditorDHCPMask = new QILineEdit;
-                AssertPtrReturnVoid(m_pEditorDHCPMask);
+                if (m_pEditorDHCPMask)
                 {
                     /* Configure editor: */
@@ -671,5 +697,5 @@
                 /* Create DHCP mask error pane: */
                 m_pErrorPaneDHCPMask = new QLabel;
-                AssertPtrReturnVoid(m_pErrorPaneDHCPMask);
+                if (m_pErrorPaneDHCPMask)
                 {
                     /* Configure label: */
@@ -686,5 +712,5 @@
             /* Create DHCP lower address label: */
             m_pLabelDHCPLowerAddress = new QLabel;
-            AssertPtrReturnVoid(m_pLabelDHCPLowerAddress);
+            if (m_pLabelDHCPLowerAddress)
             {
                 /* Configure label: */
@@ -695,5 +721,5 @@
             /* Create DHCP lower address layout: */
             QHBoxLayout *pLayoutDHCPLowerAddress = new QHBoxLayout;
-            AssertPtrReturnVoid(pLayoutDHCPLowerAddress);
+            if (pLayoutDHCPLowerAddress)
             {
                 /* Configure layout: */
@@ -701,5 +727,5 @@
                 /* Create DHCP lower address editor: */
                 m_pEditorDHCPLowerAddress = new QILineEdit;
-                AssertPtrReturnVoid(m_pEditorDHCPLowerAddress);
+                if (m_pEditorDHCPLowerAddress)
                 {
                     /* Configure editor: */
@@ -712,5 +738,5 @@
                 /* Create DHCP lower address error pane: */
                 m_pErrorPaneDHCPLowerAddress = new QLabel;
-                AssertPtrReturnVoid(m_pErrorPaneDHCPLowerAddress);
+                if (m_pErrorPaneDHCPLowerAddress)
                 {
                     /* Configure label: */
@@ -727,5 +753,5 @@
             /* Create DHCP upper address label: */
             m_pLabelDHCPUpperAddress = new QLabel;
-            AssertPtrReturnVoid(m_pLabelDHCPUpperAddress);
+            if (m_pLabelDHCPUpperAddress)
             {
                 /* Configure label: */
@@ -736,5 +762,5 @@
             /* Create DHCP upper address layout: */
             QHBoxLayout *pLayoutDHCPUpperAddress = new QHBoxLayout;
-            AssertPtrReturnVoid(pLayoutDHCPUpperAddress);
+            if (pLayoutDHCPUpperAddress)
             {
                 /* Configure layout: */
@@ -742,5 +768,5 @@
                 /* Create DHCP upper address editor: */
                 m_pEditorDHCPUpperAddress = new QILineEdit;
-                AssertPtrReturnVoid(m_pEditorDHCPUpperAddress);
+                if (m_pEditorDHCPUpperAddress)
                 {
                     /* Configure editor: */
@@ -753,5 +779,5 @@
                 /* Create DHCP upper address error pane: */
                 m_pErrorPaneDHCPUpperAddress = new QLabel;
-                AssertPtrReturnVoid(m_pErrorPaneDHCPUpperAddress);
+                if (m_pErrorPaneDHCPUpperAddress)
                 {
                     /* Configure label: */
@@ -773,5 +799,5 @@
                                pLayoutDHCPServer->spacing() - 1;
             QSpacerItem *pSpacer1 = new QSpacerItem(iWidth, 0, QSizePolicy::Fixed, QSizePolicy::Expanding);
-            AssertPtrReturnVoid(pSpacer1);
+            if (pSpacer1)
             {
                 /* Add into layout: */
@@ -780,5 +806,5 @@
             /* Create stretch: */
             QSpacerItem *pSpacer2 = new QSpacerItem(0, 0, QSizePolicy::Minimum, QSizePolicy::Expanding);
-            AssertPtrReturnVoid(pSpacer2);
+            if (pSpacer2)
             {
                 /* Add into layout: */
@@ -791,11 +817,13 @@
                 /* Create button-box: */
                 m_pButtonBoxServer = new QIDialogButtonBox;
-                AssertPtrReturnVoid(m_pButtonBoxServer);
-                /* Configure button-box: */
-                m_pButtonBoxServer->setStandardButtons(QDialogButtonBox::Cancel | QDialogButtonBox::Ok);
-                connect(m_pButtonBoxServer, &QIDialogButtonBox::clicked, this, &UIDetailsWidgetHostNetwork::sltHandleButtonBoxClick);
-
-                /* Add into layout: */
-                pLayoutDHCPServer->addWidget(m_pButtonBoxServer, 6, 0, 1, 3);
+                if (m_pButtonBoxServer)
+                {
+                    /* Configure button-box: */
+                    m_pButtonBoxServer->setStandardButtons(QDialogButtonBox::Cancel | QDialogButtonBox::Ok);
+                    connect(m_pButtonBoxServer, &QIDialogButtonBox::clicked, this, &UIDetailsWidgetHostNetwork::sltHandleButtonBoxClick);
+
+                    /* Add into layout: */
+                    pLayoutDHCPServer->addWidget(m_pButtonBoxServer, 6, 0, 1, 3);
+                }
             }
         }
@@ -809,25 +837,39 @@
     /* Toggle IPv4 & IPv6 interface fields availability: */
     const bool fIsInterfaceConfigurable = !m_newData.m_interface.m_fDHCPEnabled;
-    m_pLabelIPv4->setEnabled(fIsInterfaceConfigurable);
-    m_pLabelNMv4->setEnabled(fIsInterfaceConfigurable);
-    m_pEditorIPv4->setEnabled(fIsInterfaceConfigurable);
-    m_pEditorNMv4->setEnabled(fIsInterfaceConfigurable);
+    if (m_pLabelIPv4)
+        m_pLabelIPv4->setEnabled(fIsInterfaceConfigurable);
+    if (m_pLabelNMv4)
+        m_pLabelNMv4->setEnabled(fIsInterfaceConfigurable);
+    if (m_pEditorIPv4)
+        m_pEditorIPv4->setEnabled(fIsInterfaceConfigurable);
+    if (m_pEditorNMv4)
+        m_pEditorNMv4->setEnabled(fIsInterfaceConfigurable);
 
     /* Load IPv4 interface fields: */
-    m_pButtonAutomatic->setChecked(!fIsInterfaceConfigurable);
-    m_pButtonManual->setChecked(fIsInterfaceConfigurable);
-    m_pEditorIPv4->setText(m_newData.m_interface.m_strAddress);
-    m_pEditorNMv4->setText(m_newData.m_interface.m_strMask);
+    if (m_pButtonAutomatic)
+        m_pButtonAutomatic->setChecked(!fIsInterfaceConfigurable);
+    if (m_pButtonManual)
+        m_pButtonManual->setChecked(fIsInterfaceConfigurable);
+    if (m_pEditorIPv4)
+        m_pEditorIPv4->setText(m_newData.m_interface.m_strAddress);
+    if (m_pEditorNMv4)
+        m_pEditorNMv4->setText(m_newData.m_interface.m_strMask);
 
     /* Toggle IPv6 interface fields availability: */
     const bool fIsIpv6Configurable = fIsInterfaceConfigurable && m_newData.m_interface.m_fSupportedIPv6;
-    m_pLabelIPv6->setEnabled(fIsIpv6Configurable);
-    m_pLabelNMv6->setEnabled(fIsIpv6Configurable);
-    m_pEditorIPv6->setEnabled(fIsIpv6Configurable);
-    m_pEditorNMv6->setEnabled(fIsIpv6Configurable);
+    if (m_pLabelIPv6)
+        m_pLabelIPv6->setEnabled(fIsIpv6Configurable);
+    if (m_pLabelNMv6)
+        m_pLabelNMv6->setEnabled(fIsIpv6Configurable);
+    if (m_pEditorIPv6)
+        m_pEditorIPv6->setEnabled(fIsIpv6Configurable);
+    if (m_pEditorNMv6)
+        m_pEditorNMv6->setEnabled(fIsIpv6Configurable);
 
     /* Load IPv6 interface fields: */
-    m_pEditorIPv6->setText(m_newData.m_interface.m_strAddress6);
-    m_pEditorNMv6->setText(m_newData.m_interface.m_strPrefixLength6);
+    if (m_pEditorIPv6)
+        m_pEditorIPv6->setText(m_newData.m_interface.m_strAddress6);
+    if (m_pEditorNMv6)
+        m_pEditorNMv6->setText(m_newData.m_interface.m_strPrefixLength6);
 }
 
@@ -836,23 +878,40 @@
     /* Toggle DHCP server fields availability: */
     const bool fIsDHCPServerEnabled = m_newData.m_dhcpserver.m_fEnabled;
-    m_pLabelDHCPAddress->setEnabled(fIsDHCPServerEnabled);
-    m_pLabelDHCPMask->setEnabled(fIsDHCPServerEnabled);
-    m_pLabelDHCPLowerAddress->setEnabled(fIsDHCPServerEnabled);
-    m_pLabelDHCPUpperAddress->setEnabled(fIsDHCPServerEnabled);
-    m_pEditorDHCPAddress->setEnabled(fIsDHCPServerEnabled);
-    m_pEditorDHCPMask->setEnabled(fIsDHCPServerEnabled);
-    m_pEditorDHCPLowerAddress->setEnabled(fIsDHCPServerEnabled);
-    m_pEditorDHCPUpperAddress->setEnabled(fIsDHCPServerEnabled);
+    if (m_pLabelDHCPAddress)
+        m_pLabelDHCPAddress->setEnabled(fIsDHCPServerEnabled);
+    if (m_pLabelDHCPMask)
+        m_pLabelDHCPMask->setEnabled(fIsDHCPServerEnabled);
+    if (m_pLabelDHCPLowerAddress)
+        m_pLabelDHCPLowerAddress->setEnabled(fIsDHCPServerEnabled);
+    if (m_pLabelDHCPUpperAddress)
+        m_pLabelDHCPUpperAddress->setEnabled(fIsDHCPServerEnabled);
+    if (m_pEditorDHCPAddress)
+        m_pEditorDHCPAddress->setEnabled(fIsDHCPServerEnabled);
+    if (m_pEditorDHCPMask)
+        m_pEditorDHCPMask->setEnabled(fIsDHCPServerEnabled);
+    if (m_pEditorDHCPLowerAddress)
+        m_pEditorDHCPLowerAddress->setEnabled(fIsDHCPServerEnabled);
+    if (m_pEditorDHCPUpperAddress)
+        m_pEditorDHCPUpperAddress->setEnabled(fIsDHCPServerEnabled);
 
     /* Load DHCP server fields: */
-    m_pCheckBoxDHCP->setChecked(fIsDHCPServerEnabled);
-    m_pEditorDHCPAddress->setText(m_newData.m_dhcpserver.m_strAddress);
-    m_pEditorDHCPMask->setText(m_newData.m_dhcpserver.m_strMask);
-    m_pEditorDHCPLowerAddress->setText(m_newData.m_dhcpserver.m_strLowerAddress);
-    m_pEditorDHCPUpperAddress->setText(m_newData.m_dhcpserver.m_strUpperAddress);
+    if (m_pCheckBoxDHCP)
+        m_pCheckBoxDHCP->setChecked(fIsDHCPServerEnabled);
+    if (m_pEditorDHCPAddress)
+        m_pEditorDHCPAddress->setText(m_newData.m_dhcpserver.m_strAddress);
+    if (m_pEditorDHCPMask)
+        m_pEditorDHCPMask->setText(m_newData.m_dhcpserver.m_strMask);
+    if (m_pEditorDHCPLowerAddress)
+        m_pEditorDHCPLowerAddress->setText(m_newData.m_dhcpserver.m_strLowerAddress);
+    if (m_pEditorDHCPUpperAddress)
+        m_pEditorDHCPUpperAddress->setText(m_newData.m_dhcpserver.m_strUpperAddress);
 
     /* Invent default values if server was enabled
      * but at least one current value is invalid: */
     if (   fIsDHCPServerEnabled
+        && m_pEditorDHCPAddress
+        && m_pEditorDHCPMask
+        && m_pEditorDHCPLowerAddress
+        && m_pEditorDHCPUpperAddress
         && (   m_pEditorDHCPAddress->text().isEmpty()
             || m_pEditorDHCPAddress->text() == "0.0.0.0"
@@ -876,5 +935,5 @@
 {
     /* Validate 'Interface' tab content: */
-    if (!pWidget || pWidget == m_pErrorPaneAutomatic)
+    if (m_pErrorPaneAutomatic && (!pWidget || pWidget == m_pErrorPaneAutomatic))
     {
         const bool fError =    m_newData.m_interface.m_fDHCPEnabled
@@ -882,10 +941,10 @@
         m_pErrorPaneAutomatic->setVisible(fError);
     }
-    if (!pWidget || pWidget == m_pErrorPaneManual)
+    if (m_pErrorPaneManual && (!pWidget || pWidget == m_pErrorPaneManual))
     {
         const bool fError = false;
         m_pErrorPaneManual->setVisible(fError);
     }
-    if (!pWidget || pWidget == m_pErrorPaneIPv4)
+    if (m_pErrorPaneIPv4 && (!pWidget || pWidget == m_pErrorPaneIPv4))
     {
         const bool fError =    !m_newData.m_interface.m_fDHCPEnabled
@@ -895,5 +954,5 @@
         m_pErrorPaneIPv4->setVisible(fError);
     }
-    if (!pWidget || pWidget == m_pErrorPaneNMv4)
+    if (m_pErrorPaneNMv4 && (!pWidget || pWidget == m_pErrorPaneNMv4))
     {
         const bool fError =    !m_newData.m_interface.m_fDHCPEnabled
@@ -903,5 +962,5 @@
         m_pErrorPaneNMv4->setVisible(fError);
     }
-    if (!pWidget || pWidget == m_pErrorPaneIPv6)
+    if (m_pErrorPaneIPv6 && (!pWidget || pWidget == m_pErrorPaneIPv6))
     {
         const bool fError =    !m_newData.m_interface.m_fDHCPEnabled
@@ -912,5 +971,5 @@
         m_pErrorPaneIPv6->setVisible(fError);
     }
-    if (!pWidget || pWidget == m_pErrorPaneNMv6)
+    if (m_pErrorPaneNMv6 && (!pWidget || pWidget == m_pErrorPaneNMv6))
     {
         bool fIsMaskPrefixLengthNumber = false;
@@ -925,5 +984,5 @@
 
     /* Validate 'DHCP server' tab content: */
-    if (!pWidget || pWidget == m_pErrorPaneDHCPAddress)
+    if (m_pErrorPaneDHCPAddress && (!pWidget || pWidget == m_pErrorPaneDHCPAddress))
     {
         const bool fError =    m_newData.m_dhcpserver.m_fEnabled
@@ -932,5 +991,5 @@
         m_pErrorPaneDHCPAddress->setVisible(fError);
     }
-    if (!pWidget || pWidget == m_pErrorPaneDHCPMask)
+    if (m_pErrorPaneDHCPMask && (!pWidget || pWidget == m_pErrorPaneDHCPMask))
     {
         const bool fError =    m_newData.m_dhcpserver.m_fEnabled
@@ -939,5 +998,5 @@
         m_pErrorPaneDHCPMask->setVisible(fError);
     }
-    if (!pWidget || pWidget == m_pErrorPaneDHCPLowerAddress)
+    if (m_pErrorPaneDHCPLowerAddress && (!pWidget || pWidget == m_pErrorPaneDHCPLowerAddress))
     {
         const bool fError =    m_newData.m_dhcpserver.m_fEnabled
@@ -946,5 +1005,5 @@
         m_pErrorPaneDHCPLowerAddress->setVisible(fError);
     }
-    if (!pWidget || pWidget == m_pErrorPaneDHCPUpperAddress)
+    if (m_pErrorPaneDHCPUpperAddress && (!pWidget || pWidget == m_pErrorPaneDHCPUpperAddress))
     {
         const bool fError =    m_newData.m_dhcpserver.m_fEnabled
@@ -961,31 +1020,31 @@
 {
     /* Translate 'Interface' tab content: */
-    if (!pWidget || pWidget == m_pErrorPaneAutomatic)
+    if (m_pErrorPaneAutomatic && (!pWidget || pWidget == m_pErrorPaneAutomatic))
         m_pErrorPaneAutomatic->setToolTip(tr("Host interface <nobr><b>%1</b></nobr> is set to obtain the address automatically "
                                              "but the corresponding DHCP server is not enabled.").arg(m_newData.m_interface.m_strName));
-    if (!pWidget || pWidget == m_pErrorPaneIPv4)
+    if (m_pErrorPaneIPv4 && (!pWidget || pWidget == m_pErrorPaneIPv4))
         m_pErrorPaneIPv4->setToolTip(tr("Host interface <nobr><b>%1</b></nobr> does not currently have a valid "
                                         "IPv4 address.").arg(m_newData.m_interface.m_strName));
-    if (!pWidget || pWidget == m_pErrorPaneNMv4)
+    if (m_pErrorPaneNMv4 && (!pWidget || pWidget == m_pErrorPaneNMv4))
         m_pErrorPaneNMv4->setToolTip(tr("Host interface <nobr><b>%1</b></nobr> does not currently have a valid "
                                         "IPv4 network mask.").arg(m_newData.m_interface.m_strName));
-    if (!pWidget || pWidget == m_pErrorPaneIPv6)
+    if (m_pErrorPaneIPv6 && (!pWidget || pWidget == m_pErrorPaneIPv6))
         m_pErrorPaneIPv6->setToolTip(tr("Host interface <nobr><b>%1</b></nobr> does not currently have a valid "
                                         "IPv6 address.").arg(m_newData.m_interface.m_strName));
-    if (!pWidget || pWidget == m_pErrorPaneNMv6)
+    if (m_pErrorPaneNMv6 && (!pWidget || pWidget == m_pErrorPaneNMv6))
         m_pErrorPaneNMv6->setToolTip(tr("Host interface <nobr><b>%1</b></nobr> does not currently have a valid "
                                         "IPv6 prefix length.").arg(m_newData.m_interface.m_strName));
 
     /* Translate 'DHCP server' tab content: */
-    if (!pWidget || pWidget == m_pErrorPaneDHCPAddress)
+    if (m_pErrorPaneDHCPAddress && (!pWidget || pWidget == m_pErrorPaneDHCPAddress))
         m_pErrorPaneDHCPAddress->setToolTip(tr("Host interface <nobr><b>%1</b></nobr> does not currently have a valid "
                                                "DHCP server address.").arg(m_newData.m_interface.m_strName));
-    if (!pWidget || pWidget == m_pErrorPaneDHCPMask)
+    if (m_pErrorPaneDHCPMask && (!pWidget || pWidget == m_pErrorPaneDHCPMask))
         m_pErrorPaneDHCPMask->setToolTip(tr("Host interface <nobr><b>%1</b></nobr> does not currently have a valid "
                                             "DHCP server mask.").arg(m_newData.m_interface.m_strName));
-    if (!pWidget || pWidget == m_pErrorPaneDHCPLowerAddress)
+    if (m_pErrorPaneDHCPLowerAddress && (!pWidget || pWidget == m_pErrorPaneDHCPLowerAddress))
         m_pErrorPaneDHCPLowerAddress->setToolTip(tr("Host interface <nobr><b>%1</b></nobr> does not currently have a valid "
                                                     "DHCP server lower address bound.").arg(m_newData.m_interface.m_strName));
-    if (!pWidget || pWidget == m_pErrorPaneDHCPUpperAddress)
+    if (m_pErrorPaneDHCPUpperAddress && (!pWidget || pWidget == m_pErrorPaneDHCPUpperAddress))
         m_pErrorPaneDHCPUpperAddress->setToolTip(tr("Host interface <nobr><b>%1</b></nobr> does not currently have a valid "
                                                     "DHCP server upper address bound.").arg(m_newData.m_interface.m_strName));
@@ -1021,3 +1080,2 @@
     emit sigDataChanged(m_oldData != m_newData);
 }
-
