Title: [141580] trunk/Source/WebKit2
Revision
141580
Author
[email protected]
Date
2013-02-01 04:54:33 -0800 (Fri, 01 Feb 2013)

Log Message

[Gtk][WK2] Fix build after recent WebKit2 changes
https://bugs.webkit.org/show_bug.cgi?id=108588

Patch by Seulgi Kim <[email protected]> on 2013-02-01
Reviewed by Andreas Kling.

Don't remove WorkQueue during execution.
Following the logic on https://bugs.webkit.org/show_bug.cgi?id=108544

* Platform/gtk/WorkQueueGtk.cpp:
(WorkQueue::EventSource::~EventSource):
(WorkQueue::EventSource::executeEventSource):
(WorkQueue::dispatch):
(WorkQueue::dispatchAfterDelay):
(WorkQueue::dispatchOnTermination):

Modified Paths

Diff

Modified: trunk/Source/WebKit2/ChangeLog (141579 => 141580)


--- trunk/Source/WebKit2/ChangeLog	2013-02-01 12:23:56 UTC (rev 141579)
+++ trunk/Source/WebKit2/ChangeLog	2013-02-01 12:54:33 UTC (rev 141580)
@@ -1,3 +1,20 @@
+2013-02-01  Seulgi Kim  <[email protected]>
+
+        [Gtk][WK2] Fix build after recent WebKit2 changes
+        https://bugs.webkit.org/show_bug.cgi?id=108588
+
+        Reviewed by Andreas Kling.
+
+        Don't remove WorkQueue during execution.
+        Following the logic on https://bugs.webkit.org/show_bug.cgi?id=108544
+
+        * Platform/gtk/WorkQueueGtk.cpp:
+        (WorkQueue::EventSource::~EventSource):
+        (WorkQueue::EventSource::executeEventSource):
+        (WorkQueue::dispatch):
+        (WorkQueue::dispatchAfterDelay):
+        (WorkQueue::dispatchOnTermination):
+
 2013-02-01  Alexis Menard  <[email protected]>
 
         Enable unprefixed CSS transitions by default.

Modified: trunk/Source/WebKit2/Platform/gtk/WorkQueueGtk.cpp (141579 => 141580)


--- trunk/Source/WebKit2/Platform/gtk/WorkQueueGtk.cpp	2013-02-01 12:23:56 UTC (rev 141579)
+++ trunk/Source/WebKit2/Platform/gtk/WorkQueueGtk.cpp	2013-02-01 12:54:33 UTC (rev 141580)
@@ -42,6 +42,10 @@
         , m_cancellable(cancellable)
     {
     }
+    ~EventSource()
+    {
+        m_workQueue->deref();
+    }
 
     void cancel()
     {
@@ -53,13 +57,6 @@
     static void executeEventSource(EventSource* eventSource)
     {
         ASSERT(eventSource);
-        WorkQueue* queue = eventSource->m_workQueue;
-        {
-            MutexLocker locker(queue->m_isValidMutex);
-            if (!queue->m_isValid)
-                return;
-        }
-
         eventSource->m_function();
     }
 
@@ -206,6 +203,7 @@
 
 void WorkQueue::dispatch(const Function<void()>& function)
 {
+    ref();
     GRefPtr<GSource> dispatchSource = adoptGRef(g_idle_source_new());
     ASSERT(dispatchSource);
     g_source_set_priority(dispatchSource.get(), G_PRIORITY_DEFAULT);
@@ -215,6 +213,7 @@
 
 void WorkQueue::dispatchAfterDelay(const Function<void()>& function, double delay)
 {
+    ref();
     GRefPtr<GSource> dispatchSource = adoptGRef(g_timeout_source_new(static_cast<guint>(delay * 1000)));
     ASSERT(dispatchSource);
 
@@ -223,6 +222,7 @@
 
 void WorkQueue::dispatchOnTermination(WebKit::PlatformProcessIdentifier process, const Function<void()>& function)
 {
+    ref();
     GRefPtr<GSource> dispatchSource = adoptGRef(g_child_watch_source_new(process));
     ASSERT(dispatchSource);
 
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to