diff --git a/cef1/libcef/v8_impl.cc b/cef1/libcef/v8_impl.cc index 584092420..a18223437 100644 --- a/cef1/libcef/v8_impl.cc +++ b/cef1/libcef/v8_impl.cc @@ -118,6 +118,9 @@ class CefV8TrackManager { v8::Handle object = context->Global(); v8::Handle value = object->GetHiddenValue(context_state_key_); + if (value.IsEmpty()) + return; + scoped_refptr state = static_cast(v8::External::Unwrap(value)); state->Detach(); diff --git a/cef3/libcef/renderer/v8_impl.cc b/cef3/libcef/renderer/v8_impl.cc index 1a13513bd..178ecc94f 100644 --- a/cef3/libcef/renderer/v8_impl.cc +++ b/cef3/libcef/renderer/v8_impl.cc @@ -116,6 +116,9 @@ class CefV8TrackManager { v8::Handle object = context->Global(); v8::Handle value = object->GetHiddenValue(context_state_key_); + if (value.IsEmpty()) + return; + scoped_refptr state = static_cast(v8::External::Unwrap(value)); state->Detach();