Index: trunk/src/VBox/Frontends/VirtualBox/src/globals/UIMessageCenter.cpp
===================================================================
--- trunk/src/VBox/Frontends/VirtualBox/src/globals/UIMessageCenter.cpp	(revision 41152)
+++ trunk/src/VBox/Frontends/VirtualBox/src/globals/UIMessageCenter.cpp	(revision 41153)
@@ -1949,10 +1949,4 @@
 }
 
-bool UIMessageCenter::askAboutCancelOrLeaveAllNetworkRequest(QWidget *pParent)
-{
-    return messageYesNo(pParent, Question, tr("Do you wish to cancel all current network operations or leave them running in the background?"),
-                        0 /* auto-confirm id */, tr("Cancel All"), tr("Leave in Background"));
-}
-
 /**
  *  @return @c true if the user has confirmed input capture (this is always
Index: trunk/src/VBox/Frontends/VirtualBox/src/globals/UIMessageCenter.h
===================================================================
--- trunk/src/VBox/Frontends/VirtualBox/src/globals/UIMessageCenter.h	(revision 41152)
+++ trunk/src/VBox/Frontends/VirtualBox/src/globals/UIMessageCenter.h	(revision 41153)
@@ -327,5 +327,4 @@
 
     bool askAboutCancelAllNetworkRequest(QWidget *pParent);
-    bool askAboutCancelOrLeaveAllNetworkRequest(QWidget *pParent);
 
     bool confirmInputCapture(bool *pfAutoConfirmed = NULL);
Index: trunk/src/VBox/Frontends/VirtualBox/src/net/UINetworkCustomer.cpp
===================================================================
--- trunk/src/VBox/Frontends/VirtualBox/src/net/UINetworkCustomer.cpp	(revision 41152)
+++ trunk/src/VBox/Frontends/VirtualBox/src/net/UINetworkCustomer.cpp	(revision 41153)
@@ -25,6 +25,13 @@
 #include "UINetworkManager.h"
 
-UINetworkCustomer::UINetworkCustomer(QObject *pParent /* = 0 */)
+UINetworkCustomer::UINetworkCustomer()
+    : QObject(0)
+    , m_fForceCall(true)
+{
+}
+
+UINetworkCustomer::UINetworkCustomer(QObject *pParent, bool fForceCall)
     : QObject(pParent)
+    , m_fForceCall(fForceCall)
 {
 }
Index: trunk/src/VBox/Frontends/VirtualBox/src/net/UINetworkCustomer.h
===================================================================
--- trunk/src/VBox/Frontends/VirtualBox/src/net/UINetworkCustomer.h	(revision 41152)
+++ trunk/src/VBox/Frontends/VirtualBox/src/net/UINetworkCustomer.h	(revision 41153)
@@ -37,6 +37,10 @@
 public:
 
-    /* Constructor: */
-    UINetworkCustomer(QObject *pParent = 0);
+    /* Constructors: */
+    UINetworkCustomer();
+    UINetworkCustomer(QObject *pParent, bool fForceCall);
+
+    /* Getters: */
+    bool isItForceCall() const { return m_fForceCall; }
 
     /* Network-reply progress handler: */
@@ -53,4 +57,9 @@
     /* Network-request wrapper (set): */
     void createNetworkRequest(const QList<QNetworkRequest> &requests, UINetworkRequestType type, const QString &strDescription);
+
+private:
+
+    /* Variables: */
+    bool m_fForceCall;
 };
 
Index: trunk/src/VBox/Frontends/VirtualBox/src/net/UINetworkManager.cpp
===================================================================
--- trunk/src/VBox/Frontends/VirtualBox/src/net/UINetworkManager.cpp	(revision 41152)
+++ trunk/src/VBox/Frontends/VirtualBox/src/net/UINetworkManager.cpp	(revision 41153)
@@ -335,6 +335,10 @@
         /* Show button-box: */
         m_pButtonBox->setHidden(false);
-        /* Show dialog: */
-        showNormal();
+        /* If customer made a force-call: */
+        if (pNetworkRequest->customer()->isItForceCall())
+        {
+            /* Show dialog: */
+            showNormal();
+        }
 
         /* Return network-request widget: */
@@ -401,18 +405,4 @@
         /* Pass event to the base-class: */
         QMainWindow::showEvent(pShowEvent);
-    }
-
-    /* Overloaded close-event: */
-    void closeEvent(QCloseEvent *pCloseEvent)
-    {
-        /* If there are network-requests present
-         * ask if user wants to cancel all current network-requests
-         * or leave them working at the background: */
-        if (!m_widgets.isEmpty() &&
-            msgCenter().askAboutCancelOrLeaveAllNetworkRequest(this))
-            emit sigCancelNetworkRequests();
-
-        /* Pass event to the base-class: */
-        QMainWindow::closeEvent(pCloseEvent);
     }
 
@@ -854,10 +844,21 @@
 
 /* Slot to handle network-request failure: */
-void UINetworkManager::sltHandleNetworkRequestFailure(const QUuid &uuid, const QString &strError)
-{
-    /* Just show the dialog: */
-    show();
-    Q_UNUSED(uuid);
-    Q_UNUSED(strError);
+void UINetworkManager::sltHandleNetworkRequestFailure(const QUuid &uuid, const QString &)
+{
+    /* Make sure corresponding map contains received ID: */
+    AssertMsg(m_requests.contains(uuid), ("Network-request NOT found!\n"));
+
+    /* Get corresponding network-request: */
+    UINetworkRequest *pNetworkRequest = m_requests.value(uuid);
+
+    /* Get corresponding customer: */
+    UINetworkCustomer *pNetworkCustomer = pNetworkRequest->customer();
+
+    /* If customer made a force-call: */
+    if (pNetworkCustomer->isItForceCall())
+    {
+        /* Just show the dialog: */
+        show();
+    }
 }
 
Index: trunk/src/VBox/Frontends/VirtualBox/src/net/UIUpdateManager.cpp
===================================================================
--- trunk/src/VBox/Frontends/VirtualBox/src/net/UIUpdateManager.cpp	(revision 41152)
+++ trunk/src/VBox/Frontends/VirtualBox/src/net/UIUpdateManager.cpp	(revision 41153)
@@ -91,5 +91,5 @@
 
     /* Constructor: */
-    UIUpdateStep(UIUpdateQueue *pQueue) : UINetworkCustomer(pQueue)
+    UIUpdateStep(UIUpdateQueue *pQueue, bool fForceCall) : UINetworkCustomer(pQueue, fForceCall)
     {
         /* If queue has no steps yet: */
@@ -140,7 +140,6 @@
     /* Constructor: */
     UIUpdateStepVirtualBox(UIUpdateQueue *pQueue, bool fForceCall)
-        : UIUpdateStep(pQueue)
+        : UIUpdateStep(pQueue, fForceCall)
         , m_url("http://update.virtualbox.org/query.php")
-        , m_fForceCall(fForceCall)
     {
     }
@@ -217,5 +216,5 @@
         else
         {
-            if (m_fForceCall)
+            if (isItForceCall())
                 msgCenter().showUpdateNotFound();
         }
@@ -240,5 +239,4 @@
     /* Variables: */
     QUrl m_url;
-    bool m_fForceCall;
 };
 
@@ -251,6 +249,6 @@
 
     /* Constructor: */
-    UIUpdateStepVirtualBoxExtensionPack(UIUpdateQueue *pQueue)
-        : UIUpdateStep(pQueue)
+    UIUpdateStepVirtualBoxExtensionPack(UIUpdateQueue *pQueue, bool fForceCall)
+        : UIUpdateStep(pQueue, fForceCall)
     {
     }
@@ -395,8 +393,13 @@
 void UIUpdateManager::sltCheckIfUpdateIsNecessary(bool fForceCall /* = false */)
 {
-    /* If already running => just open Network Access Manager GUI: */
+    /* If already running: */
     if (m_fIsRunning)
     {
-        gNetworkManager->show();
+        /* And we have a force-call: */
+        if (fForceCall)
+        {
+            /* Just show Network Access Manager: */
+            gNetworkManager->show();
+        }
         return;
     }
@@ -413,5 +416,5 @@
         /* Prepare update queue: */
         new UIUpdateStepVirtualBox(m_pQueue, fForceCall);
-        new UIUpdateStepVirtualBoxExtensionPack(m_pQueue);
+        new UIUpdateStepVirtualBoxExtensionPack(m_pQueue, fForceCall);
         /* Start update queue: */
         m_pQueue->start();
