| Index: sky/framework/embedder.dart
|
| diff --git a/sky/framework/embedder.dart b/sky/framework/embedder.dart
|
| index d91f8c4e15b1c74b95d9d06bb615a65382e12c5a..4a87d20d8d4f2473af1688b1b654c476b8583760 100644
|
| --- a/sky/framework/embedder.dart
|
| +++ b/sky/framework/embedder.dart
|
| @@ -15,9 +15,20 @@ final _EmbedderImpl embedder = new _EmbedderImpl();
|
| class _EmbedderImpl {
|
| ApplicationConnection _connection;
|
| ServiceRegistryProxy _serviceRegistry;
|
| + ShellProxy _shell;
|
| + bool _internalsHasNoShell;
|
|
|
| - final ShellProxy shell = new ShellProxy.fromHandle(
|
| - new core.MojoHandle(internals.takeShellProxyHandle()));
|
| + ShellProxy get shell {
|
| + if (_internalsHasNoShell || _shell != null) return _shell;
|
| +
|
| + try {
|
| + _shell = new ShellProxy.fromHandle(
|
| + new core.MojoHandle(internals.takeShellProxyHandle()));
|
| + } catch (e) {
|
| + _internalsHasNoShell = true;
|
| + }
|
| + return _shell;
|
| + }
|
|
|
| ApplicationConnection get connection {
|
| if (_connection == null) {
|
|
|