xwayland: refactor Wayland event handling
To be able to reuse some code. Signed-off-by: Olivier Fourdan <ofourdan@redhat.com> Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
This commit is contained in:
parent
239705a6fe
commit
26ad25a0ed
@ -462,14 +462,13 @@ static const struct wl_registry_listener registry_listener = {
|
|||||||
};
|
};
|
||||||
|
|
||||||
static void
|
static void
|
||||||
socket_handler(int fd, int ready, void *data)
|
xwl_read_events (struct xwl_screen *xwl_screen)
|
||||||
{
|
{
|
||||||
struct xwl_screen *xwl_screen = data;
|
|
||||||
int ret;
|
int ret;
|
||||||
|
|
||||||
ret = wl_display_read_events(xwl_screen->display);
|
ret = wl_display_read_events(xwl_screen->display);
|
||||||
if (ret == -1)
|
if (ret == -1)
|
||||||
FatalError("failed to dispatch Wayland events: %s\n", strerror(errno));
|
FatalError("failed to read Wayland events: %s\n", strerror(errno));
|
||||||
|
|
||||||
xwl_screen->prepare_read = 0;
|
xwl_screen->prepare_read = 0;
|
||||||
|
|
||||||
@ -479,18 +478,10 @@ socket_handler(int fd, int ready, void *data)
|
|||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
wakeup_handler(void *data, int err, void *pRead)
|
xwl_dispatch_events (struct xwl_screen *xwl_screen)
|
||||||
{
|
{
|
||||||
}
|
|
||||||
|
|
||||||
static void
|
|
||||||
block_handler(void *data, OSTimePtr pTimeout, void *pRead)
|
|
||||||
{
|
|
||||||
struct xwl_screen *xwl_screen = data;
|
|
||||||
int ret;
|
int ret;
|
||||||
|
|
||||||
xwl_screen_post_damage(xwl_screen);
|
|
||||||
|
|
||||||
while (xwl_screen->prepare_read == 0 &&
|
while (xwl_screen->prepare_read == 0 &&
|
||||||
wl_display_prepare_read(xwl_screen->display) == -1) {
|
wl_display_prepare_read(xwl_screen->display) == -1) {
|
||||||
ret = wl_display_dispatch_pending(xwl_screen->display);
|
ret = wl_display_dispatch_pending(xwl_screen->display);
|
||||||
@ -506,6 +497,28 @@ block_handler(void *data, OSTimePtr pTimeout, void *pRead)
|
|||||||
FatalError("failed to write to XWayland fd: %s\n", strerror(errno));
|
FatalError("failed to write to XWayland fd: %s\n", strerror(errno));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
socket_handler(int fd, int ready, void *data)
|
||||||
|
{
|
||||||
|
struct xwl_screen *xwl_screen = data;
|
||||||
|
|
||||||
|
xwl_read_events (xwl_screen);
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
wakeup_handler(void *data, int err, void *pRead)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
block_handler(void *data, OSTimePtr pTimeout, void *pRead)
|
||||||
|
{
|
||||||
|
struct xwl_screen *xwl_screen = data;
|
||||||
|
|
||||||
|
xwl_screen_post_damage(xwl_screen);
|
||||||
|
xwl_dispatch_events (xwl_screen);
|
||||||
|
}
|
||||||
|
|
||||||
static CARD32
|
static CARD32
|
||||||
add_client_fd(OsTimerPtr timer, CARD32 time, void *arg)
|
add_client_fd(OsTimerPtr timer, CARD32 time, void *arg)
|
||||||
{
|
{
|
||||||
|
Loading…
Reference in New Issue
Block a user