Index: trunk/src/VBox/Frontends/VirtualBox/src/medium/viso/UIVisoBrowserBase.cpp
===================================================================
--- trunk/src/VBox/Frontends/VirtualBox/src/medium/viso/UIVisoBrowserBase.cpp	(revision 78003)
+++ trunk/src/VBox/Frontends/VirtualBox/src/medium/viso/UIVisoBrowserBase.cpp	(revision 78005)
@@ -100,15 +100,17 @@
 bool UILocationSelector::eventFilter(QObject *pObj, QEvent *pEvent)
 {
-    if (pObj == m_pLineEdit)
-    {
-        if(pEvent->type() == QEvent::MouseButtonPress)
-        {
-            QMouseEvent *pMouseEvent = dynamic_cast<QMouseEvent*>(pEvent);
-            if (pMouseEvent && pMouseEvent->button() == Qt::LeftButton)
-                emit sigExpandCollapseTreeView();
-        }
-    }
-    /* Pass the events to event system for further processing: */
-    return false;
+    /* Handle only events sent to m_pLineEdit only: */
+    if (pObj != m_pLineEdit)
+        return QIWithRetranslateUI<QWidget>::eventFilter(pObj, pEvent);
+
+    if (pEvent->type() == QEvent::MouseButtonPress)
+    {
+        QMouseEvent *pMouseEvent = dynamic_cast<QMouseEvent*>(pEvent);
+        if (pMouseEvent && pMouseEvent->button() == Qt::LeftButton)
+            emit sigExpandCollapseTreeView();
+    }
+
+    /* Call to base-class: */
+    return QIWithRetranslateUI<QWidget>::eventFilter(pObj, pEvent);
 }
 
@@ -230,22 +232,25 @@
 bool UIVisoBrowserBase::eventFilter(QObject *pObj, QEvent *pEvent)
 {
-    if (pObj == m_pTreeView)
-    {
-        if(pEvent->type() == QEvent::KeyPress)
-        {
-            QKeyEvent *pKeyEvent = dynamic_cast<QKeyEvent*>(pEvent);
-            if (pKeyEvent &&
-                (pKeyEvent->key() == Qt::Key_Return ||
-                 pKeyEvent->key() == Qt::Key_Enter))
-            {
-                updateTreeViewGeometry(false);
-            }
-        }
-        else if (pEvent->type() == QEvent::FocusOut)
+    /* Handle only events sent to m_pTreeView only: */
+    if (pObj != m_pTreeView)
+        return QIWithRetranslateUI<QWidget>::eventFilter(pObj, pEvent);
+
+    if (pEvent->type() == QEvent::KeyPress)
+    {
+        QKeyEvent *pKeyEvent = dynamic_cast<QKeyEvent*>(pEvent);
+        if (pKeyEvent &&
+            (pKeyEvent->key() == Qt::Key_Return ||
+             pKeyEvent->key() == Qt::Key_Enter))
         {
             updateTreeViewGeometry(false);
         }
     }
-    return false;
+    else if (pEvent->type() == QEvent::FocusOut)
+    {
+        updateTreeViewGeometry(false);
+    }
+
+    /* Call to base-class: */
+    return QIWithRetranslateUI<QWidget>::eventFilter(pObj, pEvent);
 }
 
Index: trunk/src/VBox/Frontends/VirtualBox/src/medium/viso/UIVisoConfigurationPanel.cpp
===================================================================
--- trunk/src/VBox/Frontends/VirtualBox/src/medium/viso/UIVisoConfigurationPanel.cpp	(revision 78003)
+++ trunk/src/VBox/Frontends/VirtualBox/src/medium/viso/UIVisoConfigurationPanel.cpp	(revision 78005)
@@ -26,7 +26,9 @@
 #include "QIToolButton.h"
 #include "UIVisoConfigurationPanel.h"
+#include "UIVisoCreator.h"
 
-UIVisoConfigurationPanel::UIVisoConfigurationPanel(QWidget *pParent /* =0 */)
+UIVisoConfigurationPanel::UIVisoConfigurationPanel(UIVisoCreator *pCreator, QWidget *pParent /* =0 */)
     : UIDialogPanel(pParent)
+    , m_pCreator(pCreator)
     , m_pVisoNameLabel(0)
     , m_pCustomOptionsLabel(0)
@@ -69,4 +71,7 @@
     if (!mainLayout())
         return;
+
+    /* Install creator's event-filter: */
+    m_pCreator->installEventFilter(this);
 
     /* Name edit and and label: */
@@ -111,4 +116,8 @@
 bool UIVisoConfigurationPanel::eventFilter(QObject *pObject, QEvent *pEvent)
 {
+    /* Handle only events sent to creator only: */
+    if (pObject != m_pCreator)
+        return UIDialogPanel::eventFilter(pObject, pEvent);
+
     switch (pEvent->type())
     {
@@ -116,7 +125,6 @@
         {
             QKeyEvent *pKeyEvent = static_cast<QKeyEvent*>(pEvent);
-
-             if (pKeyEvent->key() == Qt::Key_Return && m_pCustomOptionsComboBox && m_pCustomOptionsComboBox->hasFocus())
-                 addCustomVisoOption();
+            if (pKeyEvent->key() == Qt::Key_Return && m_pCustomOptionsComboBox && m_pCustomOptionsComboBox->hasFocus())
+                addCustomVisoOption();
             return true;
             break;
@@ -125,4 +133,6 @@
         break;
     }
+
+    /* Call to base-class: */
     return UIDialogPanel::eventFilter(pObject, pEvent);
 }
Index: trunk/src/VBox/Frontends/VirtualBox/src/medium/viso/UIVisoConfigurationPanel.h
===================================================================
--- trunk/src/VBox/Frontends/VirtualBox/src/medium/viso/UIVisoConfigurationPanel.h	(revision 78003)
+++ trunk/src/VBox/Frontends/VirtualBox/src/medium/viso/UIVisoConfigurationPanel.h	(revision 78005)
@@ -30,4 +30,5 @@
 class QILineEdit;
 class QIToolButton;
+class UIVisoCreator;
 
 class UIVisoConfigurationPanel : public UIDialogPanel
@@ -41,5 +42,5 @@
 
 public:
-    UIVisoConfigurationPanel(QWidget *pParent = 0);
+    UIVisoConfigurationPanel(UIVisoCreator *pCreator, QWidget *pParent = 0);
     ~UIVisoConfigurationPanel();
     virtual QString panelName() const /* override */;
@@ -64,4 +65,7 @@
     void emitCustomVisoOptions();
 
+    /** Holds the parent creator reference. */
+    UIVisoCreator *m_pCreator;
+
     QILabel      *m_pVisoNameLabel;
     QILabel      *m_pCustomOptionsLabel;
Index: trunk/src/VBox/Frontends/VirtualBox/src/medium/viso/UIVisoCreator.cpp
===================================================================
--- trunk/src/VBox/Frontends/VirtualBox/src/medium/viso/UIVisoCreator.cpp	(revision 78003)
+++ trunk/src/VBox/Frontends/VirtualBox/src/medium/viso/UIVisoCreator.cpp	(revision 78005)
@@ -308,5 +308,5 @@
     }
 
-    m_pConfigurationPanel = new UIVisoConfigurationPanel;
+    m_pConfigurationPanel = new UIVisoConfigurationPanel(this);
     if (m_pConfigurationPanel)
     {
@@ -315,5 +315,4 @@
         m_pConfigurationPanel->setVisoName(m_visoOptions.m_strVisoName);
         m_pConfigurationPanel->setVisoCustomOptions(m_visoOptions.m_customOptions);
-        installEventFilter(m_pConfigurationPanel);
     }
 
