| Index: Source/core/html/HTMLMediaElement.cpp
|
| diff --git a/Source/core/html/HTMLMediaElement.cpp b/Source/core/html/HTMLMediaElement.cpp
|
| index 8b0714ad486667714457c3238a0a64a5e84ea562..e3039153f0ae2554e84de2cab1d0092c7162703a 100644
|
| --- a/Source/core/html/HTMLMediaElement.cpp
|
| +++ b/Source/core/html/HTMLMediaElement.cpp
|
| @@ -243,6 +243,7 @@ HTMLMediaElement::HTMLMediaElement(const QualifiedName& tagName, Document* docum
|
| , m_lastTextTrackUpdateTime(-1)
|
| , m_textTracks(0)
|
| , m_ignoreTrackDisplayUpdate(0)
|
| + , m_inDestructor(false)
|
| #if ENABLE(WEB_AUDIO)
|
| , m_audioSourceNode(0)
|
| #endif
|
| @@ -266,6 +267,8 @@ HTMLMediaElement::HTMLMediaElement(const QualifiedName& tagName, Document* docum
|
| HTMLMediaElement::~HTMLMediaElement()
|
| {
|
| LOG(Media, "HTMLMediaElement::~HTMLMediaElement");
|
| + m_inDestructor = true;
|
| +
|
| setShouldDelayLoadEvent(false);
|
| document()->unregisterForCaptionPreferencesChangedCallbacks(this);
|
| if (m_textTracks)
|
| @@ -519,6 +522,8 @@ void HTMLMediaElement::scheduleEvent(const AtomicString& eventName)
|
| #if LOG_MEDIA_EVENTS
|
| LOG(Media, "HTMLMediaElement::scheduleEvent - scheduling '%s'", eventName.string().ascii().data());
|
| #endif
|
| + if (m_inDestructor)
|
| + return;
|
| RefPtr<Event> event = Event::create(eventName, false, true);
|
| event->setTarget(this);
|
|
|
|
|