[Wayland-bugs] [Bug 697558] Wayland backend doesn't use _gdk_default_filters
gtk+ (bugzilla.gnome.org)
bugzilla at gnome.org
Mon Apr 8 19:32:07 PDT 2013
https://bugzilla.gnome.org/show_bug.cgi?id=697558
gtk+ | wayland | unspecified
Matthias Clasen <mclasen> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |mclasen at redhat.com
--- Comment #1 from Matthias Clasen <mclasen at redhat.com> 2013-04-09 02:32:04 UTC ---
Turns out this is slightly tricky to do.
GdkFilterFunc is defined like this:
typedef GdkFilterReturn (*GdkFilterFunc) (GdkXEvent *xevent,
GdkEvent *event,
gpointer data);
and GdkXEvent is defined as
typedef void GdkXEvent; /* Can be cast to window system specific
* even type, XEvent on X11, MSG on Win32.
*/
But Wayland doesn't have any struct types for events; instead, the client
registers handlers for the various events, like
void (*enter)(void *data,
struct wl_pointer *wl_pointer,
uint32_t serial,
struct wl_surface *surface,
wl_fixed_t surface_x,
wl_fixed_t surface_y);
We could certainly define structs ourselves, like
typedef struct GdkWEventEnter {
gint type;
void *data;
struct wl_pointer *wl_pointer;
uint32_t serial;
struct wl_surface *surface;
wl_fixed_t surface_x;
wl_fixed_t surface_y;
}
and then
union GdkWEvent {
GdkWEventEnter enter;
GdkWEventLeave leave;
...
}
--
Configure bugmail: https://bugzilla.gnome.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.
More information about the Wayland-bugs
mailing list