Commit graph

566 commits

Author SHA1 Message Date
Kristian Høgsberg
c8147edc3a Store objects in wl_map data structure
The wl_map data structure is just an array with a free-list that lets the
client recycle unused client IDs and keep range of client IDs under control.
2011-08-27 12:06:11 -04:00
Kristian Høgsberg
4a39081c1d Remove range protocol 2011-08-27 12:06:11 -04:00
Kristian Høgsberg
0e16b00b86 Destroy client resource by walking client hash table
All resources are now in the client hash table and we can clean up
just by walking the hash.
2011-08-27 12:06:11 -04:00
Kristian Høgsberg
cc6fd94d6a Always allocate a new wl_resource when binding an object
Previously we would bind some resources into multiple client hash tables.
2011-08-27 12:06:11 -04:00
Kristian Høgsberg
c4774d55e9 Add wl_hash_table_for_each() 2011-08-27 12:06:11 -04:00
Kristian Høgsberg
e908893080 Bind globals to client provided object IDs 2011-08-27 12:06:11 -04:00
Kristian Høgsberg
a7c6824328 server: Hand code all wl_display client stubs 2011-08-27 12:06:11 -04:00
Kristian Høgsberg
3ac8757ec3 server: Assign global id as part of wl_display_add_global() 2011-08-27 12:06:11 -04:00
Kristian Høgsberg
e065b7eafa server: Make object hash table per-client 2011-08-27 12:06:11 -04:00
Kristian Høgsberg
84c13ab810 Rename global 'func' to 'bind' 2011-08-27 12:06:11 -04:00
Kristian Høgsberg
e8a192ca61 server: Make everything in the object hash a wl_resource 2011-08-27 12:06:10 -04:00
Kristian Høgsberg
0af17ed98c Use a callback object instead of ad-hoc lists for sync and frame events
So obvious in retrospect.  The object system can do all the work for us
and keep track of pending calls as regular objects and we don't need to
abuse the resource system to get them cleaned up on client exit.  We
don't need the custom key management or (broken) lookup, we just sue
object IDs.  And last but not least, anybody can receive the callback,
not just display listeners.
2011-08-27 12:06:10 -04:00
Paulo Zanoni
1648109c84 connection: fix libffi usage, our functions return void
All clients were segfaulting on my machine.

Signed-off-by: Paulo Zanoni <paulo.r.zanoni@intel.com>
2011-08-27 12:06:10 -04:00
Kristian Høgsberg
f6ede01b68 connection: Object ID 0 is not a valid new object ID 2011-08-16 22:33:36 -04:00
Kristian Høgsberg
efeb9e9778 event-loop: Quiet a few warnings
There's no good error recovery possible in these cases though.
2011-08-12 16:25:18 -04:00
Kristian Høgsberg
4c260db68c Rename source subdir from wayland to src 2011-08-12 16:25:14 -04:00