And further, if I remove the __weak qualifier, it works without a breakpoint...
OK, this code is from years ago, and I no longer know why the reference to the open panel had to be weak. It is used inside the completion handler, which might be a clue.
John