[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    KDE/kdelibs/khtml/ecma
From:       Maks Orlovich <maksim () kde ! org>
Date:       2010-01-14 15:00:19
Message-ID: 1263481219.606687.24422.nullmailer () svn ! kde ! org
[Download RAW message or body]

SVN commit 1074682 by orlovich:

Make sure to break link from events to XHR since the former 
can't have a strong reference to the later, and so may 
end up with a dangling reference. Should fix some crashes 
on Facebook and gmail. 

Thanks to dfaure & teve for info on needed for fixing this, 
for testing, and for snapping my brain out of misdirection

BUG:222553
BUG:219906
BUG:222541


 M  +7 -0      xmlhttprequest.cpp  


--- trunk/KDE/kdelibs/khtml/ecma/xmlhttprequest.cpp #1074681:1074682
@@ -349,6 +349,11 @@
       ev.handle()->setTarget(this);
       ev.handle()->setCurrentTarget(this);
       onReadyStateChangeListener->handleEvent(ev);
+
+      // Make sure the event doesn't point to us, since it can't prevent
+      // us from being collecte.
+      ev.handle()->setTarget(0);
+      ev.handle()->setCurrentTarget(0);
     }
 
     if (m_state == XHRS_Loaded && onLoadListener != 0 && doc->view() && doc->view()->part()) {
@@ -357,6 +362,8 @@
       ev.handle()->setTarget(this);
       ev.handle()->setCurrentTarget(this);
       onLoadListener->handleEvent(ev);
+      ev.handle()->setTarget(0);
+      ev.handle()->setCurrentTarget(0);
     }
   }
 }
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic