Chris Michael
d91e403a98
ecore-wl2: Fix MIN() macro comparing int vs unsigned int
...
@fix
Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
2015-12-28 09:15:01 -05:00
Derek Foreman
ddae80af1d
wayland: use wl_surface.damage_buffer if available
...
Summary:
wl_surface.damage_buffer() takes surface damage in buffer co-ordinates.
Right now since we don't use wayland's scaling, transforms, or viewports
it's exactly the same as wl_surface.damage(). In the future if we start
using those features it's much easier to do so with damage_buffer().
Reviewers: zmike, devilhorns
Subscribers: cedric, jpeg
Differential Revision: https://phab.enlightenment.org/D3457
2015-12-28 09:09:04 -05:00
Tom Hacohen
374b795683
Ecore wl2: Limit scope of variable (fix shadow warning).
2015-12-21 11:15:24 +00:00
Mike Blumenkrantz
a3dcf7a0ba
ecore-wl2: do not flush wl_display during cleanup
...
this serves no functional purpose and deadlocks compositors
2015-12-17 13:11:46 -05:00
Chris Michael
8c85a89303
ecore-wl2: Add new event for sync done
...
This removes the usage of ecore_main_loop_iterate inside of the
display_connect function. It creates a new event type for when display
sync is done, this was we can defer surface creation and EE showing
until the compositor has had a chance to synchronize globals. We need
this for Enlightenment so that it does not try to create error dialogs
too early and thus crash due to not having sync'd globals yet
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-12-11 11:24:32 -05:00
Mike Blumenkrantz
0d1179abe3
ecore-wl2: ensure client display hash is freed and set NULL on connect failure
2015-12-10 11:19:08 -05:00
Chris Michael
7469261d2f
ecore-wl2: Fix issue of cleanup function always removing from client
...
display hash
As the cleanup function is a generic helper to cleanup things in the
Ecore_Wl2_Display structure, we cannot always just explicitly the
display from the client_displays hash.
The removal from the appropriate hashes should be done by the calling
function(s) (ecore_wl2_display_disconnect for clients, and
ecore_wl2_display_destroy for servers)
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-12-07 15:36:42 -05:00
Chris Michael
8287202c43
ecore-wl2: Don't free display structure during display cleanup function
...
Due to reference caching, we cannot free the display structure here
yet. During calls to ecore_wl2_display_destroy (or others), if the
number of references reaches zero, then we end up calling
wl_display_destroy (or equivelant). If we free our display structure
during cleanup function, then calls to wl_display_destroy will cause a
segfault as our display->wayland_display has already been freed from
the structure
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-12-07 10:00:23 -05:00
Mike Blumenkrantz
d2a7882b73
ecore-wl2: fix use after free and leak when deleting display object
...
ref T2919
2015-12-05 13:06:03 -05:00
Mike Blumenkrantz
f50a434bd1
ecore-wl2: apply same deferred shell surface creation as ecore-wayland
...
new wheel meets old wheel.
ref 265ad8b5d0
2015-12-04 19:06:51 -05:00
Mike Blumenkrantz
022dda2f68
ecore-wl2: handle null global has in ecore_wl2_display_globals_get()
2015-12-04 19:06:48 -05:00
Chris Michael
ba10e3547c
ecore-wl2: Start on implementing support for multi-seat
...
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-12-03 12:05:01 -05:00
Chris Michael
2aecd1ec48
ecore-wl2: Cancel data callback if we have a fatal error
...
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-12-03 12:05:01 -05:00
Chris Michael
cb04220ca3
ecore-wl2: Add support for handling Fatal Errors
...
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-12-03 12:03:35 -05:00
Chris Michael
8196913b15
ecore-wl2: Add caching of server displays and fix issue of client
...
connecting to same server pid
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-12-03 12:03:35 -05:00
Chris Michael
ad5f93b521
ecore-wl2: Client connections do not need to listen for a write event
...
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-12-03 12:03:35 -05:00
Chris Michael
be32567dfb
ecore-wl2: Also listen for write events when creating a compositor
...
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-12-03 12:03:35 -05:00
Chris Michael
59d1491929
ecore-wl2: Fix event processing for client connections
...
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-12-03 12:03:35 -05:00
Chris Michael
5a13b093b5
ecore-wl2: Connect to proper name during ecore_wl2_display_connect
...
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-12-03 12:03:35 -05:00
Chris Michael
ede679b7bd
ecore-wl2: Don't re-add existing globals
...
If we already have seen this global, and it is in the globals hash,
then don't re-add it and just jump straight to sending the event
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-12-03 12:03:35 -05:00
Chris Michael
8f338af511
ecore-wl2: Remove all code relating to custom window animators
...
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-12-03 12:03:35 -05:00
Chris Michael
47cd4d4168
ecore-wl2: Fix issue of compositors not flushing clients properly
...
Summary: When we use ecore_wl2 for creating compositors (E), we need
to flush clients before we dispatch events on the wl loop, so add a
prepare_callback for the fd handlers and flush clients there.
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-12-03 12:02:40 -05:00
Chris Michael
8683c6ecf6
ecore-wl2: Implement reference counting for client connected displays
...
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-12-03 12:02:40 -05:00
Chris Michael
3dc45d4945
ecore-wl2: Cache client displays and reuse them to reduce memory usage
...
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-12-03 12:02:40 -05:00
Chris Michael
fbfe60751d
ecore-wl2: Set WAYLAND_DISPLAY env variable when we create a display
...
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-12-03 12:02:40 -05:00
Derek Foreman
497b9c045e
ecore-wl2: cache the registry
...
wl_get_registry() returns a new object that we must destroy, so
we should cache one at connect and never call that again.
Signed-off-by: Derek Foreman <derekf@osg.samsung.com>
2015-12-03 12:02:40 -05:00
Chris Michael
b89c45dbf9
ecore-wl2: Add support for idle_enterer
...
Summary: This fixes an issue where scrolling mouse wheel would not
actually perform any scroll until another event was received.
NB: Unsure if we need this for "server" connections yet
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-12-03 12:02:40 -05:00
Chris Michael
6c16d7967b
ecore-wl2: Use proper wayland function to get display registry
...
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-12-03 12:02:40 -05:00
Chris Michael
d4c312ecce
ecore-wl2: Cleanup wayland objects on display cleanup
...
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-12-03 12:02:40 -05:00
Chris Michael
9a9d120c44
ecore-wl2: Cleanup inputs on display disconnect/destroy
...
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-12-03 12:02:40 -05:00
Chris Michael
35710fa919
ecore-wl2: Add API function to return the registry of a display
...
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-12-03 12:02:40 -05:00
Chris Michael
518b97cc1c
ecore-wl2: Add API function to find a window given a window id
...
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-12-03 12:02:40 -05:00
Chris Michael
41f6e1f505
ecore-wl2: Add display to global event structure
...
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-12-03 12:02:40 -05:00
Chris Michael
76a06f300f
ecore-wl2: Fix issue of animators not starting
...
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-12-03 12:02:40 -05:00
Chris Michael
25390920be
ecore-wl2: Add API function to retrieve screen size
...
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-12-03 12:02:40 -05:00
Chris Michael
ffa12c3820
ecore-wl2: Fix not sending compositor reguests when we use
...
ecore_wl2_display_connect
Summary: If we do Not listen for ECORE_FD_WRITE on the file descriptor
handler, then we never send a wl_display_flush which means we don't
send requests to the compositor and thus nothing ever renders. Fix
that by listening for FD_WRITE and calling wl_display_flush.
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-12-03 12:02:40 -05:00
Chris Michael
90217c80fc
ecore-wl2: Add implementation for supporting custom tick animators
...
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-12-03 12:02:40 -05:00
Chris Michael
2a973da77b
ecore-wl2: Add function to find a window based on surface
...
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-12-03 12:02:40 -05:00
Chris Michael
bcd949fa03
ecore-wl2: Add start of Ecore_Wl2_Input code
...
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-12-03 12:02:40 -05:00
Chris Michael
70aa5a9a34
ecore-wl2: Add support for xdg shell listener
...
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-12-03 12:02:40 -05:00
Chris Michael
d722b41e1a
ecore-wl2: Add start of Ecore_Wl2_Output code for outputs
...
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-12-03 12:02:40 -05:00
Chris Michael
5df31145ad
ecore-wl2: Add a listener for display sync when connect is called
...
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-12-03 12:02:40 -05:00
Chris Michael
88e47d7def
ecore-wl2: Add API function to return an iterator for display globals
...
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-12-03 12:02:40 -05:00
Chris Michael
f5e35519b3
ecore-wl2: Group connect and disconnect functions together
...
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-12-03 12:02:40 -05:00
Chris Michael
93ea0b172c
ecore-wl2: Add internal function to cleanup Ecore_Wl2_Display when closed
...
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-12-03 12:02:40 -05:00
Chris Michael
98706f0157
ecore-wl2: Add API function for servers to terminate wayland display main loop
...
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-12-03 12:02:40 -05:00
Chris Michael
6b14714b56
ecore-wl2: Create new xkb context for each display when connected
...
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-12-03 12:02:40 -05:00
Chris Michael
a079b10224
ecore-wl2: Add API function for servers to destroy a wayland display
...
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-12-03 12:02:40 -05:00
Chris Michael
5e3a9860aa
ecore-wl2: Add API function for clients to disconnect from a Wayland display
...
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-12-03 12:02:40 -05:00
Chris Michael
3a708abdf4
ecore-wl2: Add API function to return the wl_shm interface
...
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-12-03 12:02:40 -05:00
Chris Michael
963b1da5f1
ecore-wl2: Call wl_event_loop_dispatch with a 0 timeout
...
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-12-03 12:02:40 -05:00
Chris Michael
54a0345503
ecore-wl2: Add support for binding various wayland interfaces
...
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-12-03 12:02:40 -05:00
Chris Michael
31bf92dbbd
ecore-wl2: Add API function to return wl_display
...
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-12-03 12:02:40 -05:00
Chris Michael
93f17dec58
ecore-wl2: Modify ecore_wl2_display_create to take an optional socket name
...
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-12-03 12:02:40 -05:00
Chris Michael
81c120db14
ecore-wl2: Start on code to handle globals being added or removed
...
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-12-03 12:02:40 -05:00
Chris Michael
e4f4d52cf3
ecore-wl2: Add start of opaque Ecore_Wl2_Display structure
...
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-12-03 12:02:40 -05:00
Chris Michael
8c8334ad2d
ecore-wl2: Add ecore_wl2_display file to build order
...
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-12-03 12:02:40 -05:00