[SCM] WebKit Debian packaging branch, webkit-1.2, updated. upstream/1.1.90-6072-g9a69373

dumi at chromium.org dumi at chromium.org
Wed Apr 7 23:49:48 UTC 2010


The following commit has been merged in the webkit-1.2 branch:
commit b252550a42385a2eb787e28e2e13f36d23be36b9
Author: dumi at chromium.org <dumi at chromium.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Thu Nov 19 19:59:38 2009 +0000

    Fixing a bug in MessageQueue::removeIf() that leads to an
    assertion failure.
    
    Reviewed by Dmitry Titov.
    
    https://bugs.webkit.org/show_bug.cgi?id=31657
    
    * wtf/MessageQueue.h:
    (WTF::MessageQueue::removeIf):
    
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@51198 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/JavaScriptCore/ChangeLog b/JavaScriptCore/ChangeLog
index 9e3e49e..5057ab0 100644
--- a/JavaScriptCore/ChangeLog
+++ b/JavaScriptCore/ChangeLog
@@ -1,3 +1,15 @@
+2009-11-19  Dumitru Daniliuc  <dumi at chromium.org>
+
+        Reviewed by Dmitry Titov.
+
+        Fixing a bug in MessageQueue::removeIf() that leads to an
+        assertion failure.
+
+        https://bugs.webkit.org/show_bug.cgi?id=31657
+
+        * wtf/MessageQueue.h:
+        (WTF::MessageQueue::removeIf):
+
 2009-11-19  Laszlo Gombos  <laszlo.1.gombos at nokia.com>
 
         Reviewed by Darin Adler.
diff --git a/JavaScriptCore/wtf/MessageQueue.h b/JavaScriptCore/wtf/MessageQueue.h
index bab848c..48bd10a 100644
--- a/JavaScriptCore/wtf/MessageQueue.h
+++ b/JavaScriptCore/wtf/MessageQueue.h
@@ -173,8 +173,12 @@ namespace WTF {
     inline void MessageQueue<DataType>::removeIf(Predicate& predicate)
     {
         MutexLocker lock(m_mutex);
-        DequeConstIterator<DataType*> found = m_queue.end();
-        while ((found = m_queue.findIf(predicate)) != m_queue.end()) {
+        // See bug 31657 for why this loop looks so weird
+        while (true) {
+            DequeConstIterator<DataType*> found = m_queue.findIf(predicate);
+            if (found == m_queue.end())
+                break;
+
             DataType* message = *found;
             m_queue.remove(found);
             delete message;

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list