1. 26 Jul, 2016 1 commit
  2. 12 Jun, 2015 1 commit
  3. 15 May, 2015 1 commit
    • Michael Vetter's avatar
      remove trailing whitespaces · b409c919
      Michael Vetter authored
      Remove trailing whitespaces because they are not needed and jumping to
      the end of al ine should do just that and not jump to the whitespace.
  4. 15 Jan, 2014 1 commit
  5. 05 Jun, 2013 1 commit
  6. 19 Mar, 2013 1 commit
  7. 17 Mar, 2013 1 commit
    • Jonas Ådahl's avatar
      client: Invoke new_id closure arguments as pointers instead of integers · cb73bffe
      Jonas Ådahl authored
      This commit adds a flags parameter to wl_closure_invoke(). The so far
      added flags are ment to specify if the invokation is client side or
      server side. When on the server side, closure arguments of type 'new_id'
      should be invoked as a integer id while on the client side they should
      be invoked as a pointer to a proxy object.
      This fixes a bug happening when the address of a client side 'new_id'
      proxy object did not fit in a 32 bit integer.
      krh: Squashed test suite compile fix from Jason Ekstrand.
      Signed-off-by: Jonas Ådahl's avatarJonas Ådahl <jadahl@gmail.com>
  8. 11 Oct, 2012 1 commit
    • Kristian Høgsberg's avatar
      Change filedescriptor API to be thread safe · 53d24713
      Kristian Høgsberg authored
      The update callback for the file descriptors was always a bit awkward and
      un-intuitive.  The idea was that whenever the protocol code needed to
      write data to the fd it would call the 'update' function.  This function
      would adjust the mainloop so that it polls for POLLOUT on the fd so we
      can eventually flush the data to the socket.
      The problem is that in multi-threaded applications, any thread can issue
      a request, which writes data to the output buffer and thus triggers the
      update callback.  Thus, we'll be calling out with the display mutex
      held and may call from any thread.
      The solution is to eliminate the udpate callback and just require that
      the application or server flushes all connection buffers before blocking.
      This turns out to be a simpler API, although we now require clients to
      deal with EAGAIN and non-blocking writes.  It also saves a few syscalls,
      since the socket will be writable most of the time and most writes will
      complete, so we avoid changing epoll to poll for POLLOUT, then write and
      then change it back for each write.
  9. 30 Jun, 2012 1 commit
    • Dylan Noblesmith's avatar
      tests: fix make check for out-of-tree builds · b486e3ab
      Dylan Noblesmith authored
      It was failing with missing include files.
      While here, destroy the ugly "../src/..." include
      paths used in the tests that was just hacking around
      this problem in the Makefile:
      sed -i s/..\\/src\\/// tests/*.c
  10. 15 Jun, 2012 1 commit
  11. 25 Apr, 2012 5 commits
    • Pekka Paalanen's avatar
      os: wrap accept4(SOCK_CLOEXEC) · ff50f6bf
      Pekka Paalanen authored
      Some system C libraries do not have SOCK_CLOEXEC, and completely miss
      accept4(), too. Provide a fallback for this case.
      This changes the behaviour: no error messages are printed now for
      failing to set CLOEXEC but the file descriptor is closed.
      The unit test for this wrapper is NOT included.
      Signed-off-by: Pekka Paalanen's avatarPekka Paalanen <ppaalanen@gmail.com>
    • Pekka Paalanen's avatar
      os: wrap epoll_create · b2eaf870
      Pekka Paalanen authored
      Some system C libraries do not have epoll_create1() nor EPOLL_CLOEXEC,
      provide a fallback.
      Add tests for the wrapper.
      Signed-off-by: Pekka Paalanen's avatarPekka Paalanen <ppaalanen@gmail.com>
    • Pekka Paalanen's avatar
      os: wrap recvmsg(MSG_CMSG_CLOEXEC) · 35d5053c
      Pekka Paalanen authored
      Some system C libraries do not have MSG_CMSG_CLOEXEC. This flag would
      automatically set O_CLOEXEC flag on any received file descriptors.
      Provide a fallback that does it manually. If setting CLOEXEC fails, the
      file descriptor is closed immediately, which will lead to failures but
      avoid leaks. However, setting CLOEXEC is not really expected to fail
      Add tests for the wrapper. The setup is copied from connection-test.c.
      Signed-off-by: Pekka Paalanen's avatarPekka Paalanen <ppaalanen@gmail.com>
    • Pekka Paalanen's avatar
      os: wrap F_DUPFD_CLOEXEC · 1463a41f
      Pekka Paalanen authored
      Some system C libraries do not have F_DUPFD_CLOEXEC. Provide a fallback.
      Add tests for the new wl_os_dupfd_cloexec() wrapper.
      Add per-wrapper call counters in os_wrappers-test.c. Makes it easier to
      determine the minimum required number of wrapped calls.
      Signed-off-by: Pekka Paalanen's avatarPekka Paalanen <ppaalanen@gmail.com>
    • Pekka Paalanen's avatar
      os: define SOCK_CLOEXEC on Linux · 3b29783d
      Pekka Paalanen authored
      If it's not already defined, and we are on Linux, #define it. This gets
      rid of a load of #ifdefs. This should also allow to use it when the
      kernel supports it, but the libc does not define it.
      Signed-off-by: Pekka Paalanen's avatarPekka Paalanen <ppaalanen@gmail.com>
  12. 20 Apr, 2012 3 commits
  13. 19 Apr, 2012 3 commits
  14. 12 Apr, 2012 1 commit
    • Neil Roberts's avatar
      Add a public header for the version number · 18a770c8
      Neil Roberts authored
      This adds a public header so that applications can get the Wayland
      version number at compile time. This can be used to make applications
      that support compiling against multiple versions of Wayland.
      There is a separate installed header called cogl-version.h which gets
      included by both wayland-client.h and wayland-server.h
      The canonical place for the version number is the configure.ac script
      which splits it into three separate m4 defines for the major, minor
      and micro version. These are copied into the generated
      wayland-version.h header using AC_SUBST. There is also a string form
      of the complete version number.
      The version number is now also automatically copied into the two .pc
      Because the major, minor and micro parts are required it is no longer
      possible to leave the version number as 'master' when building from
      git. Most projects seem to immediately bump the git repo to a fake
      version number (usually odd) after making a release so that there is
      always a relative number that can be used for comparison. This patch
      sets the git version to 0.99.0 under the assumption that the next
      release will be 1.0.0.
  15. 31 Aug, 2011 1 commit
    • Kristian Høgsberg's avatar
      Remove the wl_visual interface · c640571c
      Kristian Høgsberg authored
      The visual interface was meant to be a generic mechanism for
      specifying the content of a buffer.  It goes back to before we had the
      buffer factory interfaces (like wl_drm and wl_shm) and we wanted to
      keep it open-ended enough that yuv, png or even svg buffer or so would
      be possible.
      Now that we have the buffer abstraction, we can add different buffer
      types by introducing new interfaces that create buffers.  It only
      makes sense to leave it to those interfaces to specify the contents of
      the buffers.
      For wl_shm, this means that we now just specify the pixel format using
      an enum.  For EGL buffers, the exact pixel formats are controlled by
      the implementation (part of wl_drm and similar), and from the client
      point of view, everything is controlled using EGLConfigs.
  16. 12 Aug, 2011 1 commit
  17. 18 Apr, 2011 1 commit
  18. 09 Feb, 2011 1 commit
  19. 08 Feb, 2011 1 commit
  20. 07 Feb, 2011 1 commit
    • Benjamin Franzke's avatar
      Add wayland-egl.h · 66cea0ad
      Benjamin Franzke authored
      This header defines native EGL wayland types and affiliated
      initialization, processing and destruction routines.
      EGL implementations must implement this API in order to allow
      applications using this native types for the EGL implementation.