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. |