1. 19 Nov, 2012 5 commits
  2. 14 Nov, 2012 1 commit
  3. 12 Nov, 2012 6 commits
  4. 07 Nov, 2012 2 commits
  5. 05 Nov, 2012 2 commits
    • Jonas Ådahl's avatar
      tests: Add queue test case · 1801cdc4
      Jonas Ådahl authored
      Check that after a callback removes a proxy that most likely will have
      several events queued up with the same target proxy, no more callbacks
      are invoked.
      Signed-off-by: Jonas Ådahl's avatarJonas Ådahl <jadahl@gmail.com>
      1801cdc4
    • Jonas Ådahl's avatar
      client: Keep track of proxy validity and number of reference holders · e273c7cd
      Jonas Ådahl authored
      When events are queued, the associated proxy objects (target proxy and
      potentially closure argument proxies) are verified being valid. However,
      as any event may destroy some proxy object, validity needs to be
      verified again before dispatching. Before this change this was done by
      again looking up the object via the display object map, but that did not
      work because a delete_id event could be dispatched out-of-order if it
      was queued in another queue, causing the object map to either have a new
      proxy object with the same id or none at all, had it been destroyed in
      an earlier event in the queue.
      
      Instead, make wl_proxy reference counted and increase the reference
      counter of every object associated with an event when it is queued. In
      wl_proxy_destroy() set a flag saying the proxy has been destroyed by the
      application and only free the proxy if the reference counter reaches
      zero after decreasing it.
      
      Before dispatching, verify that a proxy object still is valid by
      checking that the flag set in wl_proxy_destroy() has not been set. When
      dequeuing the event, all associated proxy objects are dereferenced and
      free:ed if the reference counter reaches zero. As proxy reference counter
      is initiated to 1, when dispatching an event it can never reach zero
      without having the destroyed flag set.
      Signed-off-by: Jonas Ådahl's avatarJonas Ådahl <jadahl@gmail.com>
      e273c7cd
  6. 29 Oct, 2012 1 commit
  7. 22 Oct, 2012 5 commits
  8. 21 Oct, 2012 1 commit
  9. 20 Oct, 2012 3 commits
  10. 19 Oct, 2012 4 commits
  11. 17 Oct, 2012 2 commits
  12. 16 Oct, 2012 8 commits