+ // centre on parent window: notice that we need screen coordinates for
+ // positioning this TLW
+ rectParent = GetParent()->GetScreenRect();
+
+ // if the parent is entirely off screen (happens at least with MDI
+ // parent frame under Mac but could happen elsewhere too if the frame
+ // was hidden/moved away for some reason), don't use it as otherwise
+ // this window wouldn't be visible at all
+ if ( !rectDisplay.Inside(rectParent.GetTopLeft()) &&
+ !rectParent.Inside(rectParent.GetBottomRight()) )
+ {
+ // this is enough to make IsEmpty() test below pass
+ rectParent.width = 0;
+ }