Index: /trunk/src/VBox/Frontends/VirtualBox/Makefile.kmk
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/Makefile.kmk	(revision 85296)
+++ /trunk/src/VBox/Frontends/VirtualBox/Makefile.kmk	(revision 85297)
@@ -682,5 +682,4 @@
 VirtualBoxVM_QT_MOCHDRS = \
 	src/globals/UIStarter.h \
-	src/monitor/performance/UIPerformanceMonitor.h \
 	src/runtime/UIConsoleEventHandler.h \
 	src/runtime/UIFrameBuffer.h \
@@ -815,4 +814,5 @@
 	src/logviewer/UIVMLogViewerTextEdit.h \
 	src/logviewer/UIVMLogViewerWidget.h \
+	src/monitor/performance/UIPerformanceMonitor.h \
 	src/medium/UIFDCreationDialog.h \
 	src/medium/UIMediumEnumerator.h \
@@ -945,5 +945,4 @@
 #
 VirtualBoxVM_QT_MOCSRCS = \
-	src/monitor/performance/UIPerformanceMonitor.cpp \
 	src/runtime/UIConsoleEventHandler.cpp \
 	src/runtime/UIFrameBuffer.cpp \
@@ -980,4 +979,5 @@
 	src/logviewer/UIVMLogViewerSearchPanel.cpp \
 	src/logviewer/UIVMLogViewerTextEdit.cpp \
+	src/monitor/performance/UIPerformanceMonitor.cpp \
 	src/medium/UIMediumEnumerator.cpp \
 	src/medium/viso/UIVisoContentBrowser.cpp \
@@ -1160,5 +1160,4 @@
 	src/main.cpp \
 	src/globals/UIStarter.cpp \
-	src/monitor/performance/UIPerformanceMonitor.cpp \
 	src/runtime/UIConsoleEventHandler.cpp \
 	src/runtime/UIFrameBuffer.cpp \
@@ -1321,4 +1320,5 @@
 	src/logviewer/UIVMLogViewerWidget.cpp \
 	src/monitor/UIMonitorCommon.cpp \
+	src/monitor/performance/UIPerformanceMonitor.cpp \
 	src/medium/UIFDCreationDialog.cpp \
 	src/medium/UIMedium.cpp \
Index: /trunk/src/VBox/Frontends/VirtualBox/src/monitor/performance/UIPerformanceMonitor.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/monitor/performance/UIPerformanceMonitor.cpp	(revision 85296)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/monitor/performance/UIPerformanceMonitor.cpp	(revision 85297)
@@ -30,5 +30,4 @@
 #include "UICommon.h"
 #include "UIPerformanceMonitor.h"
-#include "UISession.h"
 
 /* COM includes: */
@@ -690,10 +689,9 @@
 }
 
-
 /*********************************************************************************************************************************
 *   UIPerformanceMonitor implementation.                                                                              *
 *********************************************************************************************************************************/
 
-UIPerformanceMonitor::UIPerformanceMonitor(QWidget *pParent, const CMachine &machine, const CConsole &console, const UISession *pSession)
+UIPerformanceMonitor::UIPerformanceMonitor(QWidget *pParent, const CMachine &machine, const CConsole &console)
     : QIWithRetranslateUI<QWidget>(pParent)
     , m_fGuestAdditionsAvailable(false)
@@ -713,5 +711,4 @@
         m_comGuest = m_console.GetGuest();
     m_fGuestAdditionsAvailable = guestAdditionsAvailable(6 /* minimum major version */);
-    connect(pSession, &UISession::sigAdditionsStateChange, this, &UIPerformanceMonitor::sltGuestAdditionsStateChange);
 
     prepareMetrics();
@@ -862,11 +859,11 @@
     ++m_iTimeStep;
 
-   if (m_metrics.contains(m_strRAMMetricName))
-   {
-       quint64 iTotalRAM = 0;
-       quint64 iFreeRAM = 0;
-       UIMonitorCommon::getRAMLoad(m_performanceMonitor, m_nameList, m_objectList, iTotalRAM, iFreeRAM);
-       updateRAMGraphsAndMetric(iTotalRAM, iFreeRAM);
-   }
+    if (m_metrics.contains(m_strRAMMetricName))
+    {
+        quint64 iTotalRAM = 0;
+        quint64 iFreeRAM = 0;
+        UIMonitorCommon::getRAMLoad(m_performanceMonitor, m_nameList, m_objectList, iTotalRAM, iFreeRAM);
+        updateRAMGraphsAndMetric(iTotalRAM, iFreeRAM);
+    }
 
     /* Update the CPU load chart with values we get from IMachineDebugger::getCPULoad(..): */
@@ -904,8 +901,4 @@
 }
 
-/**
- *
- * @returns
- */
 void UIPerformanceMonitor::sltGuestAdditionsStateChange()
 {
Index: /trunk/src/VBox/Frontends/VirtualBox/src/monitor/performance/UIPerformanceMonitor.h
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/monitor/performance/UIPerformanceMonitor.h	(revision 85296)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/monitor/performance/UIPerformanceMonitor.h	(revision 85297)
@@ -100,5 +100,5 @@
   * two sources of the performance metrics. Unfortunately these two have very distinct APIs resulting a bit too much
   * special casing etc.*/
-class UIPerformanceMonitor : public QIWithRetranslateUI<QWidget>
+class  SHARED_LIBRARY_STUFF UIPerformanceMonitor : public QIWithRetranslateUI<QWidget>
 {
     Q_OBJECT;
@@ -109,6 +109,13 @@
       * @param machine is machine reference.
       * @param console is machine console reference. */
-    UIPerformanceMonitor(QWidget *pParent, const CMachine &machine, const CConsole &console, const UISession *pSession);
+    UIPerformanceMonitor(QWidget *pParent, const CMachine &machine, const CConsole &console);
     ~UIPerformanceMonitor();
+
+ public slots:
+
+    /** @name These functions are connected to API events and implement necessary updates.
+      * @{ */
+        void sltGuestAdditionsStateChange();
+    /** @} */
 
 protected:
@@ -120,8 +127,4 @@
     /** Reads the metric values for several sources and calls corresponding update functions. */
     void sltTimeout();
-    /** @name These functions are connected to API events and implement necessary updates.
-      * @{ */
-        void sltGuestAdditionsStateChange();
-    /** @} */
 
 private:
Index: /trunk/src/VBox/Frontends/VirtualBox/src/runtime/information/UIVMInformationDialog.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/runtime/information/UIVMInformationDialog.cpp	(revision 85296)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/runtime/information/UIVMInformationDialog.cpp	(revision 85297)
@@ -200,7 +200,9 @@
         /* Create Performance Monitor tab: */
         UIPerformanceMonitor *pPerformanceMonitorWidget =
-            new UIPerformanceMonitor(this, m_pMachineWindow->machine(), m_pMachineWindow->console(), m_pMachineWindow->uisession());
+            new UIPerformanceMonitor(this, m_pMachineWindow->machine(), m_pMachineWindow->console());
         if (pPerformanceMonitorWidget)
         {
+            connect(m_pMachineWindow->uisession(), &UISession::sigAdditionsStateChange,
+                    pPerformanceMonitorWidget, &UIPerformanceMonitor::sltGuestAdditionsStateChange);
             m_tabs.insert(2, pPerformanceMonitorWidget);
             m_pTabWidget->addTab(m_tabs.value(2), QString());
