Skip to content
  • carlosgc@webkit.org's avatar
    2011-04-08 Carlos Garcia Campos <cgarcia@igalia.com> · f8c95ba9
    carlosgc@webkit.org authored
            Reviewed by Martin Robinson.
    
            [GTK] Do not destroy WorkQueue event sources unless they have been cancelled
            https://bugs.webkit.org/show_bug.cgi?id=57611
    
            * Platform/WorkQueue.h:
            * Platform/gtk/WorkQueueGtk.cpp:
            (WorkQueue::EventSource::EventSource): Remove unused member
            m_dispatchSource.
            (WorkQueue::EventSource::executeEventSource): Make it return void
            instead of boolean since we are always ignoring the return value.
            (WorkQueue::EventSource::performWork): Return FALSE from the
            callback only when the source has been cancelled (condition = 0)
            to make sure it's destroyed when the even source handler is
            unregistered.
            (WorkQueue::registerEventSourceHandler): Use GRefPtr for the
            source, to avoid leaking it.
            (WorkQueue::scheduleWorkOnSource): Receive the source callback as
            parameter so that it can be used by scheduleWorkOnTermination() too.
            (WorkQueue::scheduleWork):
            (WorkQueue::scheduleWorkAfterDelay):
            (WorkQueue::scheduleWorkOnTermination): Use
            scheduleWorkOnSource().
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@83281 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    f8c95ba9