Index: trunk/src/VBox/Frontends/VirtualBox/src/settings/editors/UIShortcutConfigurationEditor.cpp
===================================================================
--- trunk/src/VBox/Frontends/VirtualBox/src/settings/editors/UIShortcutConfigurationEditor.cpp	(revision 92327)
+++ trunk/src/VBox/Frontends/VirtualBox/src/settings/editors/UIShortcutConfigurationEditor.cpp	(revision 92328)
@@ -310,4 +310,6 @@
       * @param  strObjectName  Brings the object name this table has, required for fast referencing. */
     UIShortcutConfigurationTable(QWidget *pParent, UIShortcutConfigurationModel *pModel, const QString &strObjectName);
+    /** Destructs table. */
+    virtual ~UIShortcutConfigurationTable() /* override */;
 
 protected:
@@ -327,4 +329,9 @@
     /** Prepares all. */
     void prepare();
+    /** Cleanups all. */
+    void cleanup();
+
+    /** Holds the item editor factory instance. */
+    QItemEditorFactory *m_pItemEditorFactory;
 };
 
@@ -699,4 +706,5 @@
                                                            const QString &strObjectName)
     : QITableView(pParent)
+    , m_pItemEditorFactory(0)
 {
     /* Set object name: */
@@ -707,4 +715,10 @@
     /* Prepare all: */
     prepare();
+}
+
+UIShortcutConfigurationTable::~UIShortcutConfigurationTable()
+{
+    /* Cleanup all: */
+    cleanup();
 }
 
@@ -761,21 +775,28 @@
 
         /* Create new item editor factory: */
-        QItemEditorFactory *pNewItemEditorFactory = new QItemEditorFactory;
-        if (pNewItemEditorFactory)
+        m_pItemEditorFactory = new QItemEditorFactory;
+        if (m_pItemEditorFactory)
         {
             /* Register UIHotKeyEditor as the UIHotKey editor: */
             int iHotKeyTypeId = qRegisterMetaType<UIHotKey>();
             QStandardItemEditorCreator<UIHotKeyEditor> *pHotKeyItemEditorCreator = new QStandardItemEditorCreator<UIHotKeyEditor>();
-            pNewItemEditorFactory->registerEditor((QVariant::Type)iHotKeyTypeId, pHotKeyItemEditorCreator);
+            m_pItemEditorFactory->registerEditor((QVariant::Type)iHotKeyTypeId, pHotKeyItemEditorCreator);
 
             /* Register UIHostComboEditor as the UIHostComboWrapper editor: */
             int iHostComboTypeId = qRegisterMetaType<UIHostComboWrapper>();
             QStandardItemEditorCreator<UIHostComboEditor> *pHostComboItemEditorCreator = new QStandardItemEditorCreator<UIHostComboEditor>();
-            pNewItemEditorFactory->registerEditor((QVariant::Type)iHostComboTypeId, pHostComboItemEditorCreator);
+            m_pItemEditorFactory->registerEditor((QVariant::Type)iHostComboTypeId, pHostComboItemEditorCreator);
 
             /* Assign configured item editor factory to item delegate: */
-            pStyledItemDelegate->setItemEditorFactory(pNewItemEditorFactory);
-        }
-    }
+            pStyledItemDelegate->setItemEditorFactory(m_pItemEditorFactory);
+        }
+    }
+}
+
+void UIShortcutConfigurationTable::cleanup()
+{
+    /* Cleanup item editor factory: */
+    delete m_pItemEditorFactory;
+    m_pItemEditorFactory = 0;
 }
 
Index: trunk/src/VBox/Frontends/VirtualBox/src/widgets/UIAddDiskEncryptionPasswordDialog.cpp
===================================================================
--- trunk/src/VBox/Frontends/VirtualBox/src/widgets/UIAddDiskEncryptionPasswordDialog.cpp	(revision 92327)
+++ trunk/src/VBox/Frontends/VirtualBox/src/widgets/UIAddDiskEncryptionPasswordDialog.cpp	(revision 92328)
@@ -163,4 +163,6 @@
       * @param  encryptedMedia  Brings the lists of medium ids (values) encrypted with passwords with ids (keys). */
     UIEncryptionDataTable(const EncryptedMediumMap &encryptedMedia);
+    /** Destructs table. */
+    virtual ~UIEncryptionDataTable() /* override */;
 
     /** Returns the shallow copy of the encryption password map
@@ -175,4 +177,6 @@
     /** Prepares all. */
     void prepare();
+    /** Cleanups all. */
+    void cleanup();
 
     /** Holds the encrypted medium map reference. */
@@ -181,4 +185,7 @@
     /** Holds the encryption-data model instance. */
     UIEncryptionDataModel *m_pModelEncryptionData;
+
+    /** Holds the item editor factory instance. */
+    QItemEditorFactory *m_pItemEditorFactory;
 };
 
@@ -376,7 +383,12 @@
     : m_encryptedMedia(encryptedMedia)
     , m_pModelEncryptionData(0)
-{
-    /* Prepare: */
+    , m_pItemEditorFactory(0)
+{
     prepare();
+}
+
+UIEncryptionDataTable::~UIEncryptionDataTable()
+{
+    cleanup();
 }
 
@@ -414,18 +426,15 @@
     if (pStyledItemDelegate)
     {
-        /* Create item editor factory: */
-        QItemEditorFactory *pNewItemEditorFactory = new QItemEditorFactory;
-        if (pNewItemEditorFactory)
-        {
-            /* Create item editor creator: */
+        /* Create new item editor factory: */
+        m_pItemEditorFactory = new QItemEditorFactory;
+        if (m_pItemEditorFactory)
+        {
+            /* Register UIPasswordEditor as the QString editor: */
             QStandardItemEditorCreator<UIPasswordEditor> *pQStringItemEditorCreator = new QStandardItemEditorCreator<UIPasswordEditor>();
             if (pQStringItemEditorCreator)
-            {
-                /* Register UIPasswordEditor as the QString editor: */
-                pNewItemEditorFactory->registerEditor(QVariant::String, pQStringItemEditorCreator);
-            }
+            m_pItemEditorFactory->registerEditor(QVariant::String, pQStringItemEditorCreator);
 
             /* Assign configured item editor factory to table delegate: */
-            pStyledItemDelegate->setItemEditorFactory(pNewItemEditorFactory);
+            pStyledItemDelegate->setItemEditorFactory(m_pItemEditorFactory);
         }
 
@@ -454,4 +463,11 @@
     horizontalHeader()->setSectionResizeMode(UIEncryptionDataTableSection_Id, QHeaderView::Interactive);
     horizontalHeader()->setSectionResizeMode(UIEncryptionDataTableSection_Password, QHeaderView::Stretch);
+}
+
+void UIEncryptionDataTable::cleanup()
+{
+    /* Cleanup item editor factory: */
+    delete m_pItemEditorFactory;
+    m_pItemEditorFactory = 0;
 }
 
Index: trunk/src/VBox/Frontends/VirtualBox/src/widgets/UIFormEditorWidget.cpp
===================================================================
--- trunk/src/VBox/Frontends/VirtualBox/src/widgets/UIFormEditorWidget.cpp	(revision 92327)
+++ trunk/src/VBox/Frontends/VirtualBox/src/widgets/UIFormEditorWidget.cpp	(revision 92328)
@@ -1384,6 +1384,12 @@
     , m_pTableView(0)
     , m_pTableModel(0)
+    , m_pItemEditorFactory(0)
 {
     prepare();
+}
+
+UIFormEditorWidget::~UIFormEditorWidget()
+{
+    cleanup();
 }
 
@@ -1494,24 +1500,24 @@
 
                     /* Create new item editor factory: */
-                    QItemEditorFactory *pNewItemEditorFactory = new QItemEditorFactory;
-                    if (pNewItemEditorFactory)
+                    m_pItemEditorFactory = new QItemEditorFactory;
+                    if (m_pItemEditorFactory)
                     {
                         /* Register TextEditor as the TextData editor: */
                         int iTextId = qRegisterMetaType<TextData>();
                         QStandardItemEditorCreator<TextEditor> *pTextEditorItemCreator = new QStandardItemEditorCreator<TextEditor>();
-                        pNewItemEditorFactory->registerEditor((QVariant::Type)iTextId, pTextEditorItemCreator);
+                        m_pItemEditorFactory->registerEditor((QVariant::Type)iTextId, pTextEditorItemCreator);
 
                         /* Register ChoiceEditor as the ChoiceData editor: */
                         int iChoiceId = qRegisterMetaType<ChoiceData>();
                         QStandardItemEditorCreator<ChoiceEditor> *pChoiceEditorItemCreator = new QStandardItemEditorCreator<ChoiceEditor>();
-                        pNewItemEditorFactory->registerEditor((QVariant::Type)iChoiceId, pChoiceEditorItemCreator);
+                        m_pItemEditorFactory->registerEditor((QVariant::Type)iChoiceId, pChoiceEditorItemCreator);
 
                         /* Register RangedIntegerEditor as the RangedIntegerData editor: */
                         int iRangedIntegerId = qRegisterMetaType<RangedIntegerData>();
                         QStandardItemEditorCreator<RangedIntegerEditor> *pRangedIntegerEditorItemCreator = new QStandardItemEditorCreator<RangedIntegerEditor>();
-                        pNewItemEditorFactory->registerEditor((QVariant::Type)iRangedIntegerId, pRangedIntegerEditorItemCreator);
+                        m_pItemEditorFactory->registerEditor((QVariant::Type)iRangedIntegerId, pRangedIntegerEditorItemCreator);
 
                         /* Set newly created item editor factory for table delegate: */
-                        pStyledItemDelegate->setItemEditorFactory(pNewItemEditorFactory);
+                        pStyledItemDelegate->setItemEditorFactory(m_pItemEditorFactory);
                     }
                 }
@@ -1522,4 +1528,10 @@
         }
     }
+}
+
+void UIFormEditorWidget::cleanup()
+{
+    delete m_pItemEditorFactory;
+    m_pItemEditorFactory = 0;
 }
 
Index: trunk/src/VBox/Frontends/VirtualBox/src/widgets/UIFormEditorWidget.h
===================================================================
--- trunk/src/VBox/Frontends/VirtualBox/src/widgets/UIFormEditorWidget.h	(revision 92327)
+++ trunk/src/VBox/Frontends/VirtualBox/src/widgets/UIFormEditorWidget.h	(revision 92328)
@@ -32,4 +32,5 @@
 /* Forward declarations: */
 class QHeaderView;
+class QItemEditorFactory;
 class UIFormEditorModel;
 class UIFormEditorView;
@@ -48,4 +49,6 @@
       * @param  pNotificationCenter  Brings the notification-center this widget should report to. */
     UIFormEditorWidget(QWidget *pParent = 0, UINotificationCenter *pNotificationCenter = 0);
+    /** Destructs Form Editor widget. */
+    virtual ~UIFormEditorWidget() /* override */;
 
     /** Returns the notification-center reference. */
@@ -80,4 +83,6 @@
     /** Prepares all. */
     void prepare();
+    /** Cleanups all. */
+    void cleanup();
 
     /** Adjusts table column sizes. */
@@ -91,4 +96,7 @@
     /** Holds the table-model instance. */
     UIFormEditorModel *m_pTableModel;
+
+    /** Holds the item editor factory instance. */
+    QItemEditorFactory *m_pItemEditorFactory;
 };
 
Index: trunk/src/VBox/Frontends/VirtualBox/src/widgets/UIPortForwardingTable.cpp
===================================================================
--- trunk/src/VBox/Frontends/VirtualBox/src/widgets/UIPortForwardingTable.cpp	(revision 92327)
+++ trunk/src/VBox/Frontends/VirtualBox/src/widgets/UIPortForwardingTable.cpp	(revision 92328)
@@ -792,5 +792,5 @@
     , m_pTableView(0)
     , m_pToolBar(0)
-    , m_pNewItemEditorFactory(0)
+    , m_pItemEditorFactory(0)
     , m_pTableModel(0)
     , m_pActionAdd(0)
@@ -798,5 +798,4 @@
     , m_pActionRemove(0)
 {
-    /* Prepare: */
     prepare();
 }
@@ -804,5 +803,5 @@
 UIPortForwardingTable::~UIPortForwardingTable()
 {
-    delete m_pNewItemEditorFactory;
+    cleanup();
 }
 
@@ -1124,16 +1123,16 @@
         {
             /* Create new item editor factory: */
-            m_pNewItemEditorFactory = new QItemEditorFactory;
-            if (m_pNewItemEditorFactory)
+            m_pItemEditorFactory = new QItemEditorFactory;
+            if (m_pItemEditorFactory)
             {
                 /* Register NameEditor as the NameData editor: */
                 int iNameId = qRegisterMetaType<NameData>();
                 QStandardItemEditorCreator<NameEditor> *pNameEditorItemCreator = new QStandardItemEditorCreator<NameEditor>();
-                m_pNewItemEditorFactory->registerEditor((QVariant::Type)iNameId, pNameEditorItemCreator);
+                m_pItemEditorFactory->registerEditor((QVariant::Type)iNameId, pNameEditorItemCreator);
 
                 /* Register ProtocolEditor as the KNATProtocol editor: */
                 int iProtocolId = qRegisterMetaType<KNATProtocol>();
                 QStandardItemEditorCreator<ProtocolEditor> *pProtocolEditorItemCreator = new QStandardItemEditorCreator<ProtocolEditor>();
-                m_pNewItemEditorFactory->registerEditor((QVariant::Type)iProtocolId, pProtocolEditorItemCreator);
+                m_pItemEditorFactory->registerEditor((QVariant::Type)iProtocolId, pProtocolEditorItemCreator);
 
                 /* Register IPv4Editor/IPv6Editor as the IpData editor: */
@@ -1142,10 +1141,10 @@
                 {
                     QStandardItemEditorCreator<IPv4Editor> *pIPv4EditorItemCreator = new QStandardItemEditorCreator<IPv4Editor>();
-                    m_pNewItemEditorFactory->registerEditor((QVariant::Type)iIpId, pIPv4EditorItemCreator);
+                    m_pItemEditorFactory->registerEditor((QVariant::Type)iIpId, pIPv4EditorItemCreator);
                 }
                 else
                 {
                     QStandardItemEditorCreator<IPv6Editor> *pIPv6EditorItemCreator = new QStandardItemEditorCreator<IPv6Editor>();
-                    m_pNewItemEditorFactory->registerEditor((QVariant::Type)iIpId, pIPv6EditorItemCreator);
+                    m_pItemEditorFactory->registerEditor((QVariant::Type)iIpId, pIPv6EditorItemCreator);
                 }
 
@@ -1153,8 +1152,8 @@
                 int iPortId = qRegisterMetaType<PortData>();
                 QStandardItemEditorCreator<PortEditor> *pPortEditorItemCreator = new QStandardItemEditorCreator<PortEditor>();
-                m_pNewItemEditorFactory->registerEditor((QVariant::Type)iPortId, pPortEditorItemCreator);
+                m_pItemEditorFactory->registerEditor((QVariant::Type)iPortId, pPortEditorItemCreator);
 
                 /* Set newly created item editor factory for table delegate: */
-                pStyledItemDelegate->setItemEditorFactory(m_pNewItemEditorFactory);
+                pStyledItemDelegate->setItemEditorFactory(m_pItemEditorFactory);
             }
         }
@@ -1212,4 +1211,10 @@
 }
 
+void UIPortForwardingTable::cleanup()
+{
+    delete m_pItemEditorFactory;
+    m_pItemEditorFactory = 0;
+}
+
 
 #include "UIPortForwardingTable.moc"
Index: trunk/src/VBox/Frontends/VirtualBox/src/widgets/UIPortForwardingTable.h
===================================================================
--- trunk/src/VBox/Frontends/VirtualBox/src/widgets/UIPortForwardingTable.h	(revision 92327)
+++ trunk/src/VBox/Frontends/VirtualBox/src/widgets/UIPortForwardingTable.h	(revision 92328)
@@ -211,5 +211,6 @@
       * @param  fAllowEmptyGuestIPs  Brings whether this table allows empty guest IPs. */
     UIPortForwardingTable(const UIPortForwardingDataList &rules, bool fIPv6, bool fAllowEmptyGuestIPs);
-    ~UIPortForwardingTable();
+    /** Destructs Port Forwarding table. */
+    virtual ~UIPortForwardingTable() /* override */;
     /** Returns the list of port forwarding rules. */
     UIPortForwardingDataList rules() const;
@@ -273,4 +274,6 @@
     /** Prepares toolbar. */
     void prepareToolbar();
+    /** Cleanups all. */
+    void cleanup();
 
     /** Holds the list of port forwarding rules. */
@@ -294,5 +297,5 @@
     QIToolBar   *m_pToolBar;
     /** Holds the item editor factory instance. */
-    QItemEditorFactory *m_pNewItemEditorFactory;
+    QItemEditorFactory *m_pItemEditorFactory;
 
     /** Holds the table-model instance. */
