Commit Graph

854 Commits

Author SHA1 Message Date
Kristian Høgsberg
47b446987d shm: Compare resource interface when validating visual 2011-08-29 15:01:26 -04:00
Kristian Høgsberg
b15259bff4 server: Pass struct wl_resource for object references 2011-08-27 12:06:11 -04:00
Kristian Høgsberg
990809c063 Don't special case object ID 1 lookup 2011-08-27 12:06:11 -04:00
Kristian Høgsberg
2b6f3cd2b8 server: wl_display and wl_input_device are no longer resources 2011-08-27 12:06:11 -04:00
Kristian Høgsberg
e489e824fa Update TODO 2011-08-27 12:06:11 -04:00
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
Jørgen Lind
f2665e21ce Make expat a dependency to the scanner 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
Kristian Høgsberg
3733157d55 Change scanner.c license to MIT 2011-08-11 14:57:36 -04:00
Kristian Høgsberg
9a606bedfd scanner: Silence warning 2011-07-28 07:47:54 -07:00
Kristian Høgsberg
eb13ae17b4 scanner: Initialize protocol.copyright to NULL 2011-07-27 05:50:41 -07:00
Tiago Vignatti
7a291117e7 protocol: Delete screenshooter.xml
The protocol interface is on compositor's side now.

Signed-off-by: Tiago Vignatti <tiago.vignatti@intel.com>
2011-07-26 08:21:49 -07:00
Kristian Høgsberg
986703ac73 scanner: Take copyright notice from xml file 2011-07-25 18:14:20 -07:00
Kristian Høgsberg
64732b01e4 connection: Use static strings instead of sprintf and buffer overflow
Spotted by Samuel Rødal <samuel.rodal@nokia.com>
2011-07-19 10:01:46 -07:00
Kristian Høgsberg
f9b3c15145 Link to -lrt for clock_gettime() 2011-07-18 13:35:18 -04:00
Casey Dahlin
c86ba825c4 Pass object ID not pointer when sending a global announce event
When the type for the first argument of the global event changed from new_id to
uint, wl_connection_vmarshal started expecting an integer argument rather than
an object argument. As a result we were sending the client a chunk of pointer
rather than a useful global identifier.
2011-07-18 13:14:07 -04:00
Kristian Høgsberg
a8db57befa conection: Handle demarshal errors a little less dramatically 2011-07-18 13:10:49 -04:00
Casey Dahlin
728d09936f Fix segfault in client when demarshalling fails 2011-07-18 12:58:18 -04:00
Tiago Vignatti
068ba750ca protocol: fix key event and related comments 2011-07-15 15:04:50 -04:00
Tiago Vignatti
a9ef785cf8 debug: add timestamps when logging
Signed-off-by: Tiago Vignatti <tiago.vignatti@intel.com>
2011-07-15 15:04:50 -04:00
Kristian Høgsberg
98da0a7b98 protocol: Fix type of visual arg in token_visual event 2011-07-15 15:04:50 -04:00
Kristian Høgsberg
f6bf070aee scanner: Output type info for new_id arguments 2011-07-15 15:04:45 -04:00
Kristian Høgsberg
671a62cb96 protocol: Make id arg of display.global event be just a uint
Global names are different from object IDs.
2011-07-11 11:15:00 -04:00
Kristian Høgsberg
ff1a06c03a scanner: map 'int' to int32_t. 2011-07-07 13:39:08 -04:00
Laszlo Agocs
aa7bbb210b Add touch events to protocol. 2011-06-29 12:51:39 -04:00
Kristian Høgsberg
40b0a6bf63 server: Add wl_client_flush()
Flush output queue up for the specified client.
2011-06-29 11:43:11 -04:00
Kristian Høgsberg
ff20a0417a event-loop: Make idle handlers work again 2011-06-23 06:43:47 -04:00
Kristian Høgsberg
b6fdded54b Update TODO 2011-06-21 16:25:28 -04:00
Kristian Høgsberg
7dc36984af Merge remote-tracking branch 'bnf/buffer.release' 2011-06-21 12:15:31 -04:00
Benjamin Franzke
4c2500c2e2 Drop wl_compoositor parameter in wl_buffer 2011-06-21 17:42:57 +02:00
Benjamin Franzke
a56c045571 Add busy_count and client parameter to wl_buffer
Can be used to implement release event.
2011-06-21 17:42:57 +02:00
Benjamin Franzke
2fcebfed95 Add buffer.release event 2011-06-21 17:42:55 +02:00
Kristian Høgsberg
bfea3d6bef Add more protocol for communicating screen geometry 2011-06-21 11:24:27 -04:00
Laszlo Agocs
aae9f214e5 Add wl_display_remove_global.
Change 4453ba084a disallows using
post_global with objects not on the global list. Therefore selection
and drag offers have to be added to the global list from now on.
However these may often get replaced by a newer object and thus need a
way to remove a global from the global list.
2011-06-20 11:56:22 -04:00
Laszlo Agocs
9c36ea776b Do not leak globals and listeners.
From 3fa2ad7dec42f85795449f33b2a4c9461aa4924d Mon Sep 17 00:00:00 2001
From: Laszlo Agocs <laszlo.p.agocs@nokia.com>
Date: Tue, 14 Jun 2011 11:35:28 +0200
Subject: [PATCH] Do not leak globals and listeners.
2011-06-20 11:25:29 -04:00
Kristian Høgsberg
a2db57517b Move map functionality into shell
Initial surface.attach makes the surface visible and clients
can set the surface type using shell.set_transient etc or
other interfaces prior to that.
2011-06-18 08:17:40 -04:00