Title: [90907] trunk/Source/WebKit2
- Revision
- 90907
- Author
- [email protected]
- Date
- 2011-07-13 05:32:30 -0700 (Wed, 13 Jul 2011)
Log Message
[Qt][WK2] Undelayed WorkItems are leaked after execution.
https://bugs.webkit.org/show_bug.cgi?id=64447
Reviewed by Benjamin Poulain.
* Platform/qt/WorkQueueQt.cpp:
(WorkQueue::WorkItemQt::executeAndDelete):
(WorkQueue::WorkItemQt::timerEvent):
(WorkQueue::scheduleWork):
Modified Paths
Diff
Modified: trunk/Source/WebKit2/ChangeLog (90906 => 90907)
--- trunk/Source/WebKit2/ChangeLog 2011-07-13 12:13:10 UTC (rev 90906)
+++ trunk/Source/WebKit2/ChangeLog 2011-07-13 12:32:30 UTC (rev 90907)
@@ -1,3 +1,15 @@
+2011-07-13 Andreas Kling <[email protected]>
+
+ [Qt][WK2] Undelayed WorkItems are leaked after execution.
+ https://bugs.webkit.org/show_bug.cgi?id=64447
+
+ Reviewed by Benjamin Poulain.
+
+ * Platform/qt/WorkQueueQt.cpp:
+ (WorkQueue::WorkItemQt::executeAndDelete):
+ (WorkQueue::WorkItemQt::timerEvent):
+ (WorkQueue::scheduleWork):
+
2011-07-12 Jocelyn Turcotte <[email protected]>
[Qt] Also stop the scale commit timer when commitScaleChange is called explicitly.
Modified: trunk/Source/WebKit2/Platform/qt/WorkQueueQt.cpp (90906 => 90907)
--- trunk/Source/WebKit2/Platform/qt/WorkQueueQt.cpp 2011-07-13 12:13:10 UTC (rev 90906)
+++ trunk/Source/WebKit2/Platform/qt/WorkQueueQt.cpp 2011-07-13 12:32:30 UTC (rev 90907)
@@ -65,12 +65,17 @@
m_workItem->execute();
}
- virtual void timerEvent(QTimerEvent*)
+ Q_SLOT void executeAndDelete()
{
- execute();
+ execute();
delete this;
}
+ virtual void timerEvent(QTimerEvent*)
+ {
+ executeAndDelete();
+ }
+
WorkQueue* m_queue;
QObject* m_source;
const char* m_signal;
@@ -108,7 +113,7 @@
{
WorkQueue::WorkItemQt* itemQt = new WorkQueue::WorkItemQt(this, item.leakPtr());
itemQt->moveToThread(m_workThread);
- QMetaObject::invokeMethod(itemQt, "execute", Qt::QueuedConnection);
+ QMetaObject::invokeMethod(itemQt, "executeAndDelete", Qt::QueuedConnection);
}
void WorkQueue::scheduleWorkAfterDelay(PassOwnPtr<WorkItem> item, double delayInSecond)
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes