1. 25 Sep, 2012 2 commits
    • David Herrmann's avatar
      man: add man-page infrastructure · 49dee9a8
      David Herrmann authored
      This adds a man-page infrastructure based on Docbook XML files. This
      allows us to integrate the man-pages into the publican books later. An
      example page for wl_display_connect() (with an alias
      wl_display_connect_to_fd()) is also added.
      Feel free to add more man-pages. Function calls are put in man3 and
      overview pages into man7. All pages (including aliases) have to be added
      to the Makefile.
      Docbook does generate aliases automatically from the additional names that
      were put in the XML file. However, a small SED script is needed to fixup
      the include-paths in the generated troff files. If someone knows how to
      avoid that (or even install them gzip'ped), please fix it up.
      Signed-off-by: default avatarDavid Herrmann <dh.herrmann@googlemail.com>
    • Tiago Vignatti's avatar
      protocol: Fix typo · 35d8da8e
      Tiago Vignatti authored
      Signed-off-by: default avatarTiago Vignatti <tiago.vignatti@intel.com>
  2. 13 Sep, 2012 1 commit
  3. 12 Sep, 2012 1 commit
    • David Herrmann's avatar
      event-loop: export wl_event_loop_dispatch_idle() · 003a946a
      David Herrmann authored
      When integrating the wayland event-loop into another event-loop, we
      currently have no chance of checking whether there are pending idle
      sources that have to be called. This patch exports the
      "dispatch_idle_sources()" call so other event loops can call this before
      going to sleep. This is what wl_event_loop_dispatch() currently does so we
      simply allow external event-loops to do the same now.
      To avoid breaking existing applications, we keep the call to
      dispatch_idle_sources() in wl_event_loop_dispatch() for now. However, if
      we want we can remove this later and require every application to call
      this manually. This needs to be discussed, but the overhead is negligible
      so we will probably leave it as it is.
      This finally allows to fully integrate the wayland-server API into
      existing event-loops without any nasty workarounds.
      Signed-off-by: default avatarDavid Herrmann <dh.herrmann@googlemail.com>
  4. 11 Sep, 2012 4 commits
    • David Herrmann's avatar
      wayland-server: return new ID in wl_client_add_resource() · 9fe135c4
      David Herrmann authored
      wl_client_add_resource() used to return no error even though the new
      resource wasn't added to the client. This currently makes it very easy to
      DOS weston by simply posting thousands of "create_surface" requests with
      an invalid ID. Weston simply assumes the wl_client_add_resource() request
      succeeds but will never destroy the surface again as the "destroy" signal
      is never called (because the surface isn't linked into the wl_map).
      This change makes wl_client_add_resource() return the new ID of the added
      object and 0 on failure. Servers (like weston) can now correctly
      immediately destroy the surface when this call fails instead of leaving
      the surface around and producing memory-leaks.
      Instead of returning -1 on failure and 0 on success, I made it return the
      new ID as this seems more appropriate. We can directly use it when calling
      it with new_id==0.
      Signed-off-by: default avatarDavid Herrmann <dh.herrmann@googlemail.com>
    • David Herrmann's avatar
      event-loop: remove dead code · 397a0c6a
      David Herrmann authored
      There is really no need to increment "n" if we never read the value. The
      do-while() loop overwrites the value before it is read the first time.
      Signed-off-by: default avatarDavid Herrmann <dh.herrmann@googlemail.com>
    • Philipp Brüschweiler's avatar
    • Philipp Brüschweiler's avatar
      cursor: Add a default cursor theme · 9ce9336c
      Philipp Brüschweiler authored
      This theme is loaded when the specified cursor theme can not be found.
      These cursors are extracted from the xorg sources and transformed into
      raw ARGB data by a small helper program (commited separately).
  5. 29 Aug, 2012 3 commits
  6. 16 Aug, 2012 3 commits
  7. 14 Aug, 2012 1 commit
  8. 13 Aug, 2012 2 commits
    • Christopher Michael's avatar
      Add support for X cursor themes. · b57694ca
      Christopher Michael authored
      This patch adds a few more directories to search for xcursor themes.
      Along with the weston patch, this adds the ability to configure weston
      to use an X11 cursor theme. Previously, wayland cursor would just look
      in the icons and pixmaps directories for cursor images to load. This
      adds the ability to also search in the x cursors directory.
    • Christopher Michael's avatar
      Fix grammar in the rendering section. · 89eddb42
      Christopher Michael authored
      Upon reading some docs, I found a small grammar mistake in the
      rendering section. This patch fixes that.
  9. 04 Aug, 2012 1 commit
  10. 01 Aug, 2012 1 commit
  11. 27 Jul, 2012 1 commit
  12. 24 Jul, 2012 6 commits
  13. 23 Jul, 2012 2 commits
  14. 22 Jul, 2012 4 commits
  15. 20 Jul, 2012 4 commits
  16. 17 Jul, 2012 1 commit
    • Dmitry Guryanov's avatar
      remove listener from wl_data_source destroy_signal listener list · 2e79c487
      Dmitry Guryanov authored
      I've found a bug during wayland exploration - if you make two
      drag'n'drops in weston client example, dnd - weston crashes with
      segfault. I've tried to investigate it and found a problem.
      In function drag_grab_button we first call data_device_end_drag_grab,
      which sets seat->drag_data_source to NULL. Then we remove
      listener from list only if drag_data_source is not NULL.
      So if client will not free wl_data_source and start another drag'n'drop,
      after the first one. Then two wl_data_source structures will be
      free'd on client exit (let's name them s1 and s2).
      next and prev pointer of
      wl_data_source.resource.destroy_signal.listener_list in both
      wl_data_source structures will be seat->drag_data_source_listener,
      but next and prev in seat->drag_data_source_listener.link point
      to listener_list in s2.
      So if you try to iterate over listener_list in s1
      then you get drag_data_source_listener as first item and
      (struct wl_listener *)(&s2.resource.destroy_signal.listener_list)
      Iteration over that list occurs in
      and try to call function at address of wl_resource->client, so
      weston segfaults there.
  17. 10 Jul, 2012 3 commits