Chromium Code Reviews| Index: runtime/vm/object.cc |
| diff --git a/runtime/vm/object.cc b/runtime/vm/object.cc |
| index 13b84c64387f0b86d970b534c259ad4b7ffc2e1a..7d065911ac531bfd405ad440245012946289fbe4 100644 |
| --- a/runtime/vm/object.cc |
| +++ b/runtime/vm/object.cc |
| @@ -10936,12 +10936,17 @@ bool LibraryPrefix::LoadLibrary() const { |
| pending_deferred_loads.Add(deferred_lib); |
| const String& lib_url = String::Handle(zone, deferred_lib.url()); |
| Dart_LibraryTagHandler handler = isolate->library_tag_handler(); |
| + Object& obj = Object::Handle(); |
|
hausner
2016/06/07 23:36:07
Object::Handle(zone)
Cutch
2016/06/08 13:19:03
Done.
|
| { |
| TransitionVMToNative transition(thread); |
| Api::Scope api_scope(thread); |
| - handler(Dart_kImportTag, |
| - Api::NewHandle(thread, importer()), |
| - Api::NewHandle(thread, lib_url.raw())); |
| + obj = Api::UnwrapHandle( |
| + handler(Dart_kImportTag, |
| + Api::NewHandle(thread, importer()), |
| + Api::NewHandle(thread, lib_url.raw()))); |
| + } |
| + if (obj.IsError()) { |
| + Exceptions::PropagateError(Error::Cast(obj)); |
| } |
| } else { |
| // Another load request is in flight. |