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

darin darin at 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Sat Sep 26 06:59:10 UTC 2009


The following commit has been merged in the debian/unstable branch:
commit 57335807a1afa5b2e2fea9f7077054d02af3f377
Author: darin <darin at 268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Tue Nov 12 21:36:12 2002 +0000

    	- fixed 3094819 -- Crash in -[KWQObjectTimerTarget timerFired]
    
            * kwq/KWQObject.mm: (QObject::~QObject): Call the _destroyed signal.
            (QObject::killTimers): Simplify the code a bit using makeObjectsPerformSelector:.
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2633 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/WebCore/ChangeLog-2002-12-03 b/WebCore/ChangeLog-2002-12-03
index 820e297..47e20bd 100644
--- a/WebCore/ChangeLog-2002-12-03
+++ b/WebCore/ChangeLog-2002-12-03
@@ -1,5 +1,12 @@
 2002-11-12  Darin Adler  <darin at apple.com>
 
+	- fixed 3094819 -- Crash in -[KWQObjectTimerTarget timerFired]
+
+        * kwq/KWQObject.mm: (QObject::~QObject): Call the _destroyed signal.
+        (QObject::killTimers): Simplify the code a bit using makeObjectsPerformSelector:.
+
+2002-11-12  Darin Adler  <darin at apple.com>
+
 	- fixed 3079499 -- blank page at http://www.sonyericsson.com/T68i/
 
         * khtml/misc/loader.cpp:
diff --git a/WebCore/ChangeLog-2003-10-25 b/WebCore/ChangeLog-2003-10-25
index 820e297..47e20bd 100644
--- a/WebCore/ChangeLog-2003-10-25
+++ b/WebCore/ChangeLog-2003-10-25
@@ -1,5 +1,12 @@
 2002-11-12  Darin Adler  <darin at apple.com>
 
+	- fixed 3094819 -- Crash in -[KWQObjectTimerTarget timerFired]
+
+        * kwq/KWQObject.mm: (QObject::~QObject): Call the _destroyed signal.
+        (QObject::killTimers): Simplify the code a bit using makeObjectsPerformSelector:.
+
+2002-11-12  Darin Adler  <darin at apple.com>
+
 	- fixed 3079499 -- blank page at http://www.sonyericsson.com/T68i/
 
         * khtml/misc/loader.cpp:
diff --git a/WebCore/ChangeLog-2005-08-23 b/WebCore/ChangeLog-2005-08-23
index 820e297..47e20bd 100644
--- a/WebCore/ChangeLog-2005-08-23
+++ b/WebCore/ChangeLog-2005-08-23
@@ -1,5 +1,12 @@
 2002-11-12  Darin Adler  <darin at apple.com>
 
+	- fixed 3094819 -- Crash in -[KWQObjectTimerTarget timerFired]
+
+        * kwq/KWQObject.mm: (QObject::~QObject): Call the _destroyed signal.
+        (QObject::killTimers): Simplify the code a bit using makeObjectsPerformSelector:.
+
+2002-11-12  Darin Adler  <darin at apple.com>
+
 	- fixed 3079499 -- blank page at http://www.sonyericsson.com/T68i/
 
         * khtml/misc/loader.cpp:
diff --git a/WebCore/kwq/KWQObject.mm b/WebCore/kwq/KWQObject.mm
index 47a188d..74f0e6a 100644
--- a/WebCore/kwq/KWQObject.mm
+++ b/WebCore/kwq/KWQObject.mm
@@ -117,6 +117,7 @@ QObject::QObject(QObject *parent, const char *name)
 
 QObject::~QObject()
 {
+    _destroyed.call();
     ASSERT(_signalListHead == &_destroyed);
     killTimers();
 }
@@ -132,7 +133,7 @@ bool QObject::event(QEvent *)
 
 int QObject::startTimer(int milliseconds)
 {
-    static int timerCount = 1;
+    static int nextTimerID = 1;
 
     if (timerDictionaries == NULL) {
         // The global timers dictionary itself leaks, but the contents are removed
@@ -147,17 +148,17 @@ int QObject::startTimer(int milliseconds)
         [timers release];
     }
 
-    NSNumber *timerId = [NSNumber numberWithInt:timerCount];
-    KWQObjectTimerTarget *target = [[KWQObjectTimerTarget alloc] initWithQObject:this timerId:timerCount];
+    KWQObjectTimerTarget *target = [[KWQObjectTimerTarget alloc] initWithQObject:this timerId:nextTimerID];
     NSTimer *timer = [NSTimer scheduledTimerWithTimeInterval:milliseconds / 1000.0
           target:target
         selector:@selector(timerFired)
         userInfo:target
          repeats:YES];
     [target release];
-    [timers setObject:timer forKey:timerId];
     
-    return timerCount++;    
+    [timers setObject:timer forKey:[NSNumber numberWithInt:nextTimerID]];
+    
+    return nextTimerID++;    
 }
 
 void QObject::killTimer(int _timerId)
@@ -184,13 +185,7 @@ void QObject::killTimers()
     if (timers == nil) {
         return;
     }
-    NSArray *keys = [timers allKeys];
-    int count = [keys count];
-    for (int i = 0; i < count; i++) {
-        NSNumber *key = (NSNumber *)[keys objectAtIndex:i];
-        NSTimer *timer = (NSTimer *)[timers objectForKey:key];
-        [timer invalidate];
-    }
+    [[timers allValues] makeObjectsPerformSelector:@selector(invalidate)];
     CFDictionaryRemoveValue(timerDictionaries, this);
 }
 

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list