[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:39:10 UTC 2009
The following commit has been merged in the debian/unstable branch:
commit 2b46a401503af63d73ffd56b5f675b076f61f120
Author: darin <darin at 268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date: Sat Sep 14 00:35:43 2002 +0000
Fix crash in slot code.
* kwq/KWQSignal.mm: (KWQSignal::call): Copy the slots before
calling through in case we are destroyed by the called function.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2065 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/WebCore/ChangeLog-2002-12-03 b/WebCore/ChangeLog-2002-12-03
index f701a5e..1668489 100644
--- a/WebCore/ChangeLog-2002-12-03
+++ b/WebCore/ChangeLog-2002-12-03
@@ -1,5 +1,12 @@
2002-09-13 Darin Adler <darin at apple.com>
+ Fix crash in slot code.
+
+ * kwq/KWQSignal.mm: (KWQSignal::call): Copy the slots before
+ calling through in case we are destroyed by the called function.
+
+2002-09-13 Darin Adler <darin at apple.com>
+
Here's the *real* mistake that killed plugins. I accidentally
stopped creating objects at all! Duh. Fixed now.
diff --git a/WebCore/ChangeLog-2003-10-25 b/WebCore/ChangeLog-2003-10-25
index f701a5e..1668489 100644
--- a/WebCore/ChangeLog-2003-10-25
+++ b/WebCore/ChangeLog-2003-10-25
@@ -1,5 +1,12 @@
2002-09-13 Darin Adler <darin at apple.com>
+ Fix crash in slot code.
+
+ * kwq/KWQSignal.mm: (KWQSignal::call): Copy the slots before
+ calling through in case we are destroyed by the called function.
+
+2002-09-13 Darin Adler <darin at apple.com>
+
Here's the *real* mistake that killed plugins. I accidentally
stopped creating objects at all! Duh. Fixed now.
diff --git a/WebCore/ChangeLog-2005-08-23 b/WebCore/ChangeLog-2005-08-23
index f701a5e..1668489 100644
--- a/WebCore/ChangeLog-2005-08-23
+++ b/WebCore/ChangeLog-2005-08-23
@@ -1,5 +1,12 @@
2002-09-13 Darin Adler <darin at apple.com>
+ Fix crash in slot code.
+
+ * kwq/KWQSignal.mm: (KWQSignal::call): Copy the slots before
+ calling through in case we are destroyed by the called function.
+
+2002-09-13 Darin Adler <darin at apple.com>
+
Here's the *real* mistake that killed plugins. I accidentally
stopped creating objects at all! Duh. Fixed now.
diff --git a/WebCore/kwq/KWQSignal.mm b/WebCore/kwq/KWQSignal.mm
index d99bffa..c964a43 100644
--- a/WebCore/kwq/KWQSignal.mm
+++ b/WebCore/kwq/KWQSignal.mm
@@ -78,8 +78,12 @@ void KWQSignal::call() const
if (!m_object->m_signalsBlocked) {
KWQObjectSenderScope senderScope(m_object);
const int numSlots = sizeof(m_slots) / sizeof(m_slots[0]);
+ KWQSlot copiedSlots[numSlots];
for (int i = 0; i != numSlots; ++i) {
- m_slots[i].call();
+ copiedSlots[i] = m_slots[i];
+ }
+ for (int i = 0; i != numSlots; ++i) {
+ copiedSlots[i].call();
}
}
}
@@ -89,8 +93,12 @@ void KWQSignal::call(bool b) const
if (!m_object->m_signalsBlocked) {
KWQObjectSenderScope senderScope(m_object);
const int numSlots = sizeof(m_slots) / sizeof(m_slots[0]);
+ KWQSlot copiedSlots[numSlots];
for (int i = 0; i != numSlots; ++i) {
- m_slots[i].call(b);
+ copiedSlots[i] = m_slots[i];
+ }
+ for (int i = 0; i != numSlots; ++i) {
+ copiedSlots[i].call(b);
}
}
}
@@ -100,8 +108,12 @@ void KWQSignal::call(int j) const
if (!m_object->m_signalsBlocked) {
KWQObjectSenderScope senderScope(m_object);
const int numSlots = sizeof(m_slots) / sizeof(m_slots[0]);
+ KWQSlot copiedSlots[numSlots];
+ for (int i = 0; i != numSlots; ++i) {
+ copiedSlots[i] = m_slots[i];
+ }
for (int i = 0; i != numSlots; ++i) {
- m_slots[i].call(j);
+ copiedSlots[i].call(j);
}
}
}
@@ -111,8 +123,12 @@ void KWQSignal::call(const QString &s) const
if (!m_object->m_signalsBlocked) {
KWQObjectSenderScope senderScope(m_object);
const int numSlots = sizeof(m_slots) / sizeof(m_slots[0]);
+ KWQSlot copiedSlots[numSlots];
+ for (int i = 0; i != numSlots; ++i) {
+ copiedSlots[i] = m_slots[i];
+ }
for (int i = 0; i != numSlots; ++i) {
- m_slots[i].call(s);
+ copiedSlots[i].call(s);
}
}
}
@@ -122,8 +138,12 @@ void KWQSignal::call(Job *j) const
if (!m_object->m_signalsBlocked) {
KWQObjectSenderScope senderScope(m_object);
const int numSlots = sizeof(m_slots) / sizeof(m_slots[0]);
+ KWQSlot copiedSlots[numSlots];
+ for (int i = 0; i != numSlots; ++i) {
+ copiedSlots[i] = m_slots[i];
+ }
for (int i = 0; i != numSlots; ++i) {
- m_slots[i].call(j);
+ copiedSlots[i].call(j);
}
}
}
--
WebKit Debian packaging
More information about the Pkg-webkit-commits
mailing list