There are cases we might want to consume a NSEvent without creating a
GdkEvent or passing it along to the NSApplication for processing. This
creates a new value we can use and check against to propagate that without
having to do out parameters at the slightly odd invalid pointer value for
a GdkEvent (similar to how MMAP_FAILED is done).
#define GIC_FILTER_PASSTHRU 0
#define GIC_FILTER_FILTERED 1
+#define GDK_MACOS_EVENT_DROP (GdkEvent *)GSIZE_TO_POINTER(1)
+
struct _GdkMacosDisplay
{
GdkDisplay parent_instance;
{
GdkEvent *event = _gdk_macos_display_translate (self, nsevent);
- if (event != NULL)
+ if (event == GDK_MACOS_EVENT_DROP)
+ {
+ [nsevent release];
+ }
+ else if (event != NULL)
{
push_nsevent (event, nsevent);
_gdk_windowing_got_event (GDK_DISPLAY (self),