im iRecursionLevel As Long
   If (m_colPopupTrail.Count &gt; 0) Then
      iRecursionLevel = m_colPopupTrail(m_colPopupTrail.Count).RecursionLevel
   End If
   If (bPoppedOverPopup) Then
      Debug.Print "Recursive popup", iRecursionLevel
      iRecursionLevel = iRecursionLevel + 1
   End If
   Dim c As New cMenuPopupStack
   c.Initialise hWnd, hWndSource, bShownAsPopup, iRecursionLevel
   m_colPopupTrail.Add c, "H" &amp; hWnd
   
   ' Disable all menus at lower recursion levels
   Dim cTrailItem As cMenuP