Bug 1299956 - Better use of kungFuDeathGrip in EventListenerManager, r=smaug

This commit is contained in:
Andrea Marchesini 2016-09-02 06:59:42 -07:00
Родитель 7080f0c942
Коммит cd55795e9f
1 изменённых файлов: 2 добавлений и 1 удалений

Просмотреть файл

@ -655,6 +655,8 @@ EventListenerManager::RemoveEventListenerInternal(
uint32_t typeCount = 0;
bool deviceType = IsDeviceType(aEventMessage);
RefPtr<EventListenerManager> kungFuDeathGrip(this);
for (uint32_t i = 0; i < count; ++i) {
listener = &mListeners.ElementAt(i);
if (EVENT_TYPE_EQUALS(listener, aEventMessage, aUserType, aTypeString,
@ -662,7 +664,6 @@ EventListenerManager::RemoveEventListenerInternal(
++typeCount;
if (listener->mListener == aListenerHolder &&
listener->mFlags.EqualsForRemoval(aFlags)) {
RefPtr<EventListenerManager> kungFuDeathGrip(this);
mListeners.RemoveElementAt(i);
--count;
NotifyEventListenerRemoved(aUserType);