I had to rewrite the dockscreen, I'm not sure if what I wrote is actually a good one

This is the dockscreen
http://paste.neurohack.com/view/YP2y3/
I can see dbglogs firing in the GetGlobalDockScreen but not the ones in OnScreenInit and InitialPane, so the error occurs earlier than that ?
The error I get is :
Crash in CDockingPorts::UpdateAll is a bit cryptic11/01/2013 19:09:23 GetGlobalDockScreen FIRING DOCKSCREEN!
11/01/2013 19:09:23 Crash in CDockingPorts::UpdateAll
11/01/2013 19:09:23 Unable to continue due to program error.
program state: OnAnimate
program state: updating object
obj class: CStation
obj name: Rasiermesser manufacturing plant
obj pointer: e80b978
m_pBase: none
m_pTarget: none
m_Subordinates[0]: e92ca60 Centurion-class heavy gunship (CShip)
m_Subordinates[1]: e92cbe8 Ronin/A-class gunship (CShip)
m_DockingPorts[2]: e92cd70 Sapphire-class yacht (CShip)
m_DockingPorts[4]: e92cbe8 Ronin/A-class gunship (CShip)
m_DockingPorts[5]: e92cef8 light IAV (CShip)
m_DockingPorts[6]: e92ca60 Centurion-class heavy gunship (CShip)
game state: in game
