Index: /trunk/src/VBox/Frontends/VirtualBox/src/selector/graphics/chooser/UIGChooserItem.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/selector/graphics/chooser/UIGChooserItem.cpp	(revision 60523)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/selector/graphics/chooser/UIGChooserItem.cpp	(revision 60524)
@@ -343,4 +343,14 @@
 }
 
+void UIGChooserItem::handleRootStatusChange()
+{
+    /* Reset minimum size hints for non-root items: */
+    if (!isRoot())
+    {
+        m_iPreviousMinimumWidthHint = 0;
+        m_iPreviousMinimumHeightHint = 0;
+    }
+}
+
 /* static */
 void UIGChooserItem::configurePainterShape(QPainter *pPainter,
Index: /trunk/src/VBox/Frontends/VirtualBox/src/selector/graphics/chooser/UIGChooserItem.h
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/selector/graphics/chooser/UIGChooserItem.h	(revision 60523)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/selector/graphics/chooser/UIGChooserItem.h	(revision 60524)
@@ -158,5 +158,5 @@
 
     /* Helper: Update stuff: */
-    virtual void handleRootStatusChange() {}
+    virtual void handleRootStatusChange();
     void setPreviousGeometry(const QRectF &previousGeometry) { m_previousGeometry = previousGeometry; }
     const QRectF& previousGeometry() const { return m_previousGeometry; }
Index: /trunk/src/VBox/Frontends/VirtualBox/src/selector/graphics/chooser/UIGChooserItemGroup.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/selector/graphics/chooser/UIGChooserItemGroup.cpp	(revision 60523)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/selector/graphics/chooser/UIGChooserItemGroup.cpp	(revision 60524)
@@ -120,4 +120,10 @@
     updateVisibleName();
     updateToolTip();
+
+    /* Prepare root-item connections: */
+    connect(this, SIGNAL(sigMinimumWidthHintChanged(int)),
+            model(), SIGNAL(sigRootItemMinimumWidthHintChanged(int)));
+    connect(this, SIGNAL(sigMinimumHeightHintChanged(int)),
+            model(), SIGNAL(sigRootItemMinimumHeightHintChanged(int)));
 }
 
@@ -457,4 +463,7 @@
 void UIGChooserItemGroup::handleRootStatusChange()
 {
+    /* Call to base-class: */
+    UIGChooserItem::handleRootStatusChange();
+
     /* Update linked values: */
     updateVisibleName();
Index: /trunk/src/VBox/Frontends/VirtualBox/src/selector/graphics/chooser/UIGChooserModel.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/selector/graphics/chooser/UIGChooserModel.cpp	(revision 60523)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/selector/graphics/chooser/UIGChooserModel.cpp	(revision 60524)
@@ -463,4 +463,5 @@
 
     /* Indent root: */
+    root()->setRoot(false);
     m_rootStack << pNewRootItem;
     root()->setRoot(true);
@@ -499,4 +500,5 @@
     m_pAfterSlidingFocus = root();
     m_rootStack.removeLast();
+    root()->setRoot(true);
 
     /* Slide root: */
@@ -745,4 +747,7 @@
     /* We are no more sliding: */
     m_fSliding = false;
+
+    /* Update root geometry: */
+    root()->updateGeometry();
 
     /* Update model: */
