[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