[SCM] WebKit Debian packaging branch, debian/unstable, updated. debian/1.1.15-1-40151-g37bb677

mjs mjs at 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Sat Sep 26 08:18:02 UTC 2009


The following commit has been merged in the debian/unstable branch:
commit 1234fb12d6b2214ea39393ab6332e97eaf393c2a
Author: mjs <mjs at 268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Thu Dec 11 06:50:24 2003 +0000

            Reviewed by Darin.
    
    	<rdar://problem/3507175>: Setting timeout function can allocate JS objects without lock
    
            * khtml/ecma/kjs_window.cpp:
            (ScheduledAction::execute): Lock interpreter around code that
    	might allocate JS objects.
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@5759 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/WebCore/ChangeLog-2005-08-23 b/WebCore/ChangeLog-2005-08-23
index e0bb349..e52145a 100644
--- a/WebCore/ChangeLog-2005-08-23
+++ b/WebCore/ChangeLog-2005-08-23
@@ -1,3 +1,13 @@
+2003-12-10  Maciej Stachowiak  <mjs at apple.com>
+
+        Reviewed by Darin.
+
+	<rdar://problem/3507175>: Setting timeout function can allocate JS objects without lock
+
+        * khtml/ecma/kjs_window.cpp:
+        (ScheduledAction::execute): Lock interpreter around code that
+	might allocate JS objects.
+
 2003-12-10  David Hyatt  <hyatt at apple.com>
 
 	Fix for 3507097, overflow:auto should include the height of the horizontal scrollbar when the height
diff --git a/WebCore/khtml/ecma/kjs_window.cpp b/WebCore/khtml/ecma/kjs_window.cpp
index f365f42..04e5bb2 100644
--- a/WebCore/khtml/ecma/kjs_window.cpp
+++ b/WebCore/khtml/ecma/kjs_window.cpp
@@ -1607,11 +1607,15 @@ void ScheduledAction::execute(Window *window)
         ExecState *exec = interpreter->globalExec();
         Q_ASSERT( window == interpreter->globalObject().imp() );
         Object obj( window );
+	Interpreter::lock();
         func.call(exec,obj,args); // note that call() creates its own execution state for the func call
+	Interpreter::unlock();
 	if ( exec->hadException() ) {
 #if APPLE_CHANGES
 	  if (Interpreter::shouldPrintExceptions()) {
+	    Interpreter::lock();
 	    char *message = exec->exception().toObject(exec).get(exec, messagePropertyName).toString(exec).ascii();
+	    Interpreter::unlock();
 	    printf("(timer):%s\n", message);
 	  }
 #endif

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list