Compare commits

...

22 Commits

Author SHA1 Message Date
Carlos Garnacho 564b813093 gdk: Make gdk_display_peek_event() Return a reference to the event
And gdk_peek_event() indirectly, but that one should probably be removed.
2017-12-13 17:27:26 +01:00
Carlos Garnacho 435bf05325 gtk: Make gtk_get_current_event() return a reference
All callers in gtk seem to be ok with it, and it makes sense if
we are dealing with events as "static after delivered".
2017-12-13 17:27:26 +01:00
Carlos Garnacho 17c65ffbf2 gtk: Avoid some event copies
Those places can do with an extra reference.
2017-12-13 17:27:26 +01:00
Carlos Garnacho c3412ef61b gtk: s/gdk_event_free/g_object_unref/ 2017-12-13 17:27:26 +01:00
Carlos Garnacho 14421aa6be gdk/wayland: s/gdk_event_free/g_object_unref/ 2017-12-13 17:27:25 +01:00
Carlos Garnacho a54df76a58 gdk/x11: s/gdk_event_free/g_object_unref/ 2017-12-13 17:27:24 +01:00
Carlos Garnacho 0d67cd2b88 gdk: Remove gdk_window_[gs]et_event_compression()
Motion compression is now the unmodifiable default, callers may
call gdk_event_get_motion_history() to check the uncoalesced
motion history.
2017-12-13 17:27:04 +01:00
Carlos Garnacho 9b5ccb0d0f gtk: Remove CONSTRUCT_ONLY flag from GtkEventControllerScroll::flags
There is a gtk_event_controller_scroll_set_flags() call that's meant
to be called after construction (eg. due to scrolledwindow relayouts
hiding/showing scrollbars). The property shouldn't be construct-only
for consistence.
2017-12-13 17:27:04 +01:00
Carlos Garnacho c153f44108 gdk: Implement motion history as motion event data
In the motion compression phase the coalesced events will be saved
as a GdkTimeCoord on the motion event that shall be delivered.

For simplicity (and because history doesn't make much sense otherwise)
event history is only recorded while there are buttons pressed, this
also tidily ensures that those coalesced events would have the same
target widget on the gtk side than the delivered one, because of
implicit grabs.
2017-12-13 17:27:04 +01:00
Carlos Garnacho 940c9812f1 gdk: Keep reference on tools from motion/button events. 2017-12-13 17:27:04 +01:00
Carlos Garnacho 2e07652c25 gdk: Move additional code in gdk_event_new() to GdkEvent::constructed
Now that the type is a construct only property, we can initialize the
event fields properly here.
2017-12-13 17:27:04 +01:00
Carlos Garnacho 488a8f1fff gdk: Make GdkEvent type a construct only property
So it must be set at the time of doing g_object_new().
2017-12-13 17:27:04 +01:00
Carlos Garnacho 81b547f14b gdk: Remove gdk_event_is_allocated()
All events are allocated now.
2017-12-13 17:27:04 +01:00
Carlos Garnacho 0d13813a93 gtk: Adapt marshallers to GdkEvent as GObject 2017-12-13 17:27:04 +01:00
Carlos Garnacho 1c8c3a5378 gdk: Turn GdkEvent into a GObject
Two warts remain. gdk_event_copy() should be unnecessary as
events should be considered static after delivery, so g_object_ref()
should be just as good. There's a few exceptional cases that the event
is copied and then modifier for later processing, those cases should be
reconsidered individually.

And gdk_event_free() could be likewise turned into g_object_unref(),
many callers remain though.
2017-12-13 17:27:04 +01:00
Carlos Garnacho b5203fae0e gdk: Remove GdkScreen from GdkEventPrivate
Figure out the screen from the event window, there's presumably
just one GdkScreen anyway.
2017-12-13 17:27:04 +01:00
Carlos Garnacho 347a3ff916 gdk: Figure out the GdkSeat of an event from the GdkDevice
Removes the need for gdk_event_set_seat() and the GdkSeat field from
GdkEventPrivate.
2017-12-13 17:27:04 +01:00
Carlos Garnacho bd9569d8c1 gdk: Use allocated events
Stack allocated GdkEvent structs will not be ok when events become
objects.
2017-12-13 17:27:04 +01:00
Carlos Garnacho f1096a1146 gtk/a11y: Use allocated events
Using stack allocated GdkEvent will not be ok when they become
objects.
2017-12-13 17:27:04 +01:00
Carlos Garnacho fdae7179df gdk: Fold GdkEventPrivate fields into event structs
Now all events structs are private, it doesn't make as much sense
having GdkEventPrivate wrapping allocating events. This is a first
step towards removing it.
2017-12-13 17:27:04 +01:00
Carlos Garnacho 3a7a3c2df4 gdk: Remove GdkEventType argument from GdkEvent union
It won't stand true anymore that the GdkEventType argument is the
first field of the GdkEvent* structs. All callers have been updated
to use event->any.type instead.
2017-12-13 17:27:03 +01:00
Carlos Garnacho 84e4ec78e9 gdk: Refurbish GdkEvent struct hierarchy
Make all specific event structs contain a GdkEventAny, so the base
struct can be extended without modifying structs all over the place.
2017-12-13 17:27:02 +01:00
37 changed files with 742 additions and 912 deletions
+4 -4
View File
@@ -481,7 +481,7 @@ gdk_display_get_event (GdkDisplay *display)
*
* Returns: (nullable): a copy of the first #GdkEvent on the event
* queue, or %NULL if no events are in the queue. The returned
* #GdkEvent should be freed with gdk_event_free().
* #GdkEvent should be freed with g_object_unref().
*
* Since: 2.2
**/
@@ -495,7 +495,7 @@ gdk_display_peek_event (GdkDisplay *display)
tmp_list = _gdk_event_queue_find_first (display);
if (tmp_list)
return gdk_event_copy (tmp_list->data);
return g_object_ref (tmp_list->data);
else
return NULL;
}
@@ -543,8 +543,8 @@ generate_grab_broken_event (GdkDisplay *display,
GdkEvent *event;
event = gdk_event_new (GDK_GRAB_BROKEN);
event->grab_broken.window = g_object_ref (window);
event->grab_broken.send_event = FALSE;
event->any.window = g_object_ref (window);
event->any.send_event = FALSE;
event->grab_broken.implicit = implicit;
event->grab_broken.grab_window = grab_window;
gdk_event_set_device (event, device);
+1 -1
View File
@@ -861,7 +861,7 @@ gdk_drag_context_handle_dest_event (GdkEvent *event)
GdkDragContext *context = NULL;
GList *l;
switch ((guint) event->type)
switch ((guint) event->any.type)
{
case GDK_DRAG_MOTION:
case GDK_DROP_START:
+334 -382
View File
File diff suppressed because it is too large Load Diff
+5 -1
View File
@@ -53,6 +53,10 @@ G_BEGIN_DECLS
#define GDK_TYPE_EVENT (gdk_event_get_type ())
#define GDK_TYPE_EVENT_SEQUENCE (gdk_event_sequence_get_type ())
#define GDK_EVENT(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), GDK_TYPE_EVENT, GdkEvent))
#define GDK_IS_EVENT(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), GDK_TYPE_EVENT))
/**
* GDK_PRIORITY_EVENTS:
*
@@ -146,7 +150,6 @@ typedef struct _GdkEventPadAxis GdkEventPadAxis;
typedef struct _GdkEventPadGroupMode GdkEventPadGroupMode;
typedef struct _GdkEventSequence GdkEventSequence;
typedef union _GdkEvent GdkEvent;
/**
@@ -733,6 +736,7 @@ GDK_AVAILABLE_IN_3_92
gboolean gdk_event_get_axes (GdkEvent *event,
gdouble **axes,
guint *n_axes);
GList * gdk_event_get_history (const GdkEvent *event);
G_END_DECLS
+40 -66
View File
@@ -30,6 +30,17 @@
#include <gdk/gdkdevice.h>
#include <gdk/gdkdevicetool.h>
#define GDK_EVENT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GDK_TYPE_EVENT, GdkEventClass))
#define GDK_IS_EVENT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GDK_TYPE_EVENT))
#define GDK_EVENT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GDK_TYPE_EVENT, GdkEventClass))
typedef struct _GdkEventClass GdkEventClass;
struct _GdkEventClass
{
GObjectClass object_class;
};
/**
* GdkEventAny:
* @type: the type of the event.
@@ -42,9 +53,14 @@
*/
struct _GdkEventAny
{
GObject parent_instance;
GdkEventType type;
GdkWindow *window;
guint16 flags;
gint8 send_event;
GdkDevice *device;
GdkDevice *source_device;
GdkDisplay *display;
};
/**
@@ -64,9 +80,7 @@ struct _GdkEventAny
*/
struct _GdkEventExpose
{
GdkEventType type;
GdkWindow *window;
gint8 send_event;
GdkEventAny any;
GdkRectangle area;
cairo_region_t *region;
gint count; /* If non-zero, how many more events follow. */
@@ -98,17 +112,16 @@ struct _GdkEventExpose
*/
struct _GdkEventMotion
{
GdkEventType type;
GdkWindow *window;
gint8 send_event;
GdkEventAny any;
guint32 time;
gdouble x;
gdouble y;
gdouble *axes;
guint state;
gint16 is_hint;
GdkDevice *device;
GdkDeviceTool *tool;
gdouble x_root, y_root;
GList *history;
};
/**
@@ -140,16 +153,14 @@ struct _GdkEventMotion
*/
struct _GdkEventButton
{
GdkEventType type;
GdkWindow *window;
gint8 send_event;
GdkEventAny any;
guint32 time;
gdouble x;
gdouble y;
gdouble *axes;
guint state;
guint button;
GdkDevice *device;
GdkDeviceTool *tool;
gdouble x_root, y_root;
};
@@ -190,9 +201,7 @@ struct _GdkEventButton
*/
struct _GdkEventTouch
{
GdkEventType type;
GdkWindow *window;
gint8 send_event;
GdkEventAny any;
guint32 time;
gdouble x;
gdouble y;
@@ -200,7 +209,6 @@ struct _GdkEventTouch
guint state;
GdkEventSequence *sequence;
gboolean emulating_pointer;
GdkDevice *device;
gdouble x_root, y_root;
};
@@ -238,15 +246,12 @@ struct _GdkEventTouch
*/
struct _GdkEventScroll
{
GdkEventType type;
GdkWindow *window;
gint8 send_event;
GdkEventAny any;
guint32 time;
gdouble x;
gdouble y;
guint state;
GdkScrollDirection direction;
GdkDevice *device;
gdouble x_root, y_root;
gdouble delta_x;
gdouble delta_y;
@@ -286,15 +291,14 @@ struct _GdkEventScroll
*/
struct _GdkEventKey
{
GdkEventType type;
GdkWindow *window;
gint8 send_event;
GdkEventAny any;
guint32 time;
guint state;
guint keyval;
gint length;
gchar *string;
guint16 hardware_keycode;
guint16 key_scancode;
guint8 group;
guint is_modifier : 1;
};
@@ -327,9 +331,7 @@ struct _GdkEventKey
*/
struct _GdkEventCrossing
{
GdkEventType type;
GdkWindow *window;
gint8 send_event;
GdkEventAny any;
GdkWindow *subwindow;
guint32 time;
gdouble x;
@@ -354,9 +356,7 @@ struct _GdkEventCrossing
*/
struct _GdkEventFocus
{
GdkEventType type;
GdkWindow *window;
gint8 send_event;
GdkEventAny any;
gint16 in;
};
@@ -374,9 +374,7 @@ struct _GdkEventFocus
*/
struct _GdkEventConfigure
{
GdkEventType type;
GdkWindow *window;
gint8 send_event;
GdkEventAny any;
gint x, y;
gint width;
gint height;
@@ -396,9 +394,7 @@ struct _GdkEventConfigure
*/
struct _GdkEventProperty
{
GdkEventType type;
GdkWindow *window;
gint8 send_event;
GdkEventAny any;
GdkAtom atom;
guint32 time;
guint state;
@@ -421,9 +417,7 @@ struct _GdkEventProperty
*/
struct _GdkEventSelection
{
GdkEventType type;
GdkWindow *window;
gint8 send_event;
GdkEventAny any;
GdkAtom selection;
GdkAtom target;
GdkAtom property;
@@ -452,11 +446,8 @@ struct _GdkEventSelection
*/
struct _GdkEventProximity
{
GdkEventType type;
GdkWindow *window;
gint8 send_event;
GdkEventAny any;
guint32 time;
GdkDevice *device;
};
/**
@@ -472,9 +463,7 @@ struct _GdkEventProximity
*/
struct _GdkEventWindowState
{
GdkEventType type;
GdkWindow *window;
gint8 send_event;
GdkEventAny any;
GdkWindowState changed_mask;
GdkWindowState new_window_state;
};
@@ -501,9 +490,7 @@ struct _GdkEventWindowState
* Since: 2.8
*/
struct _GdkEventGrabBroken {
GdkEventType type;
GdkWindow *window;
gint8 send_event;
GdkEventAny any;
gboolean keyboard;
gboolean implicit;
GdkWindow *grab_window;
@@ -526,9 +513,7 @@ struct _GdkEventGrabBroken {
* Generated during DND operations.
*/
struct _GdkEventDND {
GdkEventType type;
GdkWindow *window;
gint8 send_event;
GdkEventAny any;
GdkDragContext *context;
guint32 time;
@@ -558,9 +543,7 @@ struct _GdkEventDND {
* Generated during touchpad swipe gestures.
*/
struct _GdkEventTouchpadSwipe {
GdkEventType type;
GdkWindow *window;
gint8 send_event;
GdkEventAny any;
gint8 phase;
gint8 n_fingers;
guint32 time;
@@ -599,9 +582,7 @@ struct _GdkEventTouchpadSwipe {
* Generated during touchpad swipe gestures.
*/
struct _GdkEventTouchpadPinch {
GdkEventType type;
GdkWindow *window;
gint8 send_event;
GdkEventAny any;
gint8 phase;
gint8 n_fingers;
guint32 time;
@@ -632,9 +613,7 @@ struct _GdkEventTouchpadPinch {
* Since: 3.22
*/
struct _GdkEventPadButton {
GdkEventType type;
GdkWindow *window;
gint8 send_event;
GdkEventAny any;
guint32 time;
guint group;
guint button;
@@ -660,9 +639,7 @@ struct _GdkEventPadButton {
* Since: 3.22
*/
struct _GdkEventPadAxis {
GdkEventType type;
GdkWindow *window;
gint8 send_event;
GdkEventAny any;
guint32 time;
guint group;
guint index;
@@ -687,9 +664,7 @@ struct _GdkEventPadAxis {
* Since: 3.22
*/
struct _GdkEventPadGroupMode {
GdkEventType type;
GdkWindow *window;
gint8 send_event;
GdkEventAny any;
guint32 time;
guint group;
guint mode;
@@ -753,7 +728,6 @@ struct _GdkEventPadGroupMode {
*/
union _GdkEvent
{
GdkEventType type;
GdkEventAny any;
GdkEventExpose expose;
GdkEventMotion motion;
-19
View File
@@ -143,21 +143,6 @@ typedef enum
GDK_EVENT_FLUSHED = 1 << 2
} GdkEventFlags;
struct _GdkEventPrivate
{
GdkEvent event;
guint flags;
GdkDisplay *display;
gpointer windowing_data;
GdkDevice *device;
GdkDevice *source_device;
GdkSeat *seat;
GdkDeviceTool *tool;
guint16 key_scancode;
GObject *user_data;
};
typedef struct _GdkWindowPaint GdkWindowPaint;
typedef enum
@@ -250,7 +235,6 @@ struct _GdkWindow
guint applied_shape : 1;
guint in_update : 1;
guint geometry_dirty : 1;
guint event_compression : 1;
guint frame_clock_events_paused : 1;
/* The GdkWindow that has the impl, ref:ed if another window.
@@ -304,9 +288,6 @@ void gdk_event_set_pointer_emulated (GdkEvent *event,
void gdk_event_set_scancode (GdkEvent *event,
guint16 scancode);
void gdk_event_set_seat (GdkEvent *event,
GdkSeat *seat);
void _gdk_event_emit (GdkEvent *event);
GList* _gdk_event_queue_find_first (GdkDisplay *display);
void _gdk_event_queue_remove_link (GdkDisplay *display,
+16 -59
View File
@@ -881,7 +881,6 @@ gdk_window_new (GdkDisplay *display,
window->accept_focus = TRUE;
window->focus_on_map = TRUE;
window->event_compression = TRUE;
window->x = attributes->x;
window->y = attributes->y;
@@ -2525,7 +2524,7 @@ _gdk_window_process_updates_recurse (GdkWindow *window,
cairo_region_t *expose_region)
{
cairo_region_t *clipped_expose_region;
GdkEvent event;
GdkEvent *event;
if (window->destroyed)
return;
@@ -2539,14 +2538,15 @@ _gdk_window_process_updates_recurse (GdkWindow *window,
/* Paint the window before the children, clipped to the window region */
event.expose.type = GDK_EXPOSE;
event.expose.window = window; /* we already hold a ref */
event.expose.send_event = FALSE;
event.expose.count = 0;
event.expose.region = clipped_expose_region;
cairo_region_get_extents (clipped_expose_region, &event.expose.area);
event = gdk_event_new (GDK_EXPOSE);
event->any.window = g_object_ref (window);
event->any.send_event = FALSE;
event->expose.count = 0;
event->expose.region = cairo_region_reference (clipped_expose_region);
cairo_region_get_extents (clipped_expose_region, &event->expose.area);
_gdk_event_emit (&event);
_gdk_event_emit (event);
gdk_event_free (event);
out:
cairo_region_destroy (clipped_expose_region);
@@ -5676,7 +5676,7 @@ _gdk_windowing_got_event (GdkDisplay *display,
goto out;
#ifdef DEBUG_WINDOW_PRINTING
if (event->type == GDK_KEY_PRESS &&
if (event->any.type == GDK_KEY_PRESS &&
(event->key.keyval == 0xa7 ||
event->key.keyval == 0xbd))
{
@@ -5687,17 +5687,17 @@ _gdk_windowing_got_event (GdkDisplay *display,
if (event_window->window_type == GDK_WINDOW_ROOT)
goto out;
if (event->type == GDK_ENTER_NOTIFY)
if (event->any.type == GDK_ENTER_NOTIFY)
_gdk_display_set_window_under_pointer (display, device, event_window);
else if (event->type == GDK_LEAVE_NOTIFY)
else if (event->any.type == GDK_LEAVE_NOTIFY)
_gdk_display_set_window_under_pointer (display, device, NULL);
if ((event->type == GDK_BUTTON_RELEASE ||
event->type == GDK_TOUCH_CANCEL ||
event->type == GDK_TOUCH_END) &&
if ((event->any.type == GDK_BUTTON_RELEASE ||
event->any.type == GDK_TOUCH_CANCEL ||
event->any.type == GDK_TOUCH_END) &&
!event->any.send_event)
{
if (event->type == GDK_BUTTON_RELEASE ||
if (event->any.type == GDK_BUTTON_RELEASE ||
gdk_event_get_pointer_emulated (event))
{
button_release_grab =
@@ -6237,49 +6237,6 @@ gdk_window_set_focus_on_map (GdkWindow *window,
GDK_WINDOW_IMPL_GET_CLASS (window->impl)->set_focus_on_map (window, focus_on_map);
}
/**
* gdk_window_set_event_compression:
* @window: a #GdkWindow
* @event_compression: %TRUE if motion events should be compressed
*
* Determines whether or not extra unprocessed motion events in
* the event queue can be discarded. If %TRUE only the most recent
* event will be delivered.
*
* Some types of applications, e.g. paint programs, need to see all
* motion events and will benefit from turning off event compression.
*
* By default, event compression is enabled.
*
* Since: 3.12
**/
void
gdk_window_set_event_compression (GdkWindow *window,
gboolean event_compression)
{
g_return_if_fail (GDK_IS_WINDOW (window));
window->event_compression = !!event_compression;
}
/**
* gdk_window_get_event_compression:
* @window: a #GdkWindow
*
* Get the current event compression setting for this window.
*
* Returns: %TRUE if motion events will be compressed
*
* Since: 3.12
**/
gboolean
gdk_window_get_event_compression (GdkWindow *window)
{
g_return_val_if_fail (GDK_IS_WINDOW (window), TRUE);
return window->event_compression;
}
/**
* gdk_window_set_icon_list:
* @window: The #GdkWindow toplevel window to set the icon of.
-6
View File
@@ -877,12 +877,6 @@ GDK_AVAILABLE_IN_3_10
void gdk_window_set_opaque_region (GdkWindow *window,
cairo_region_t *region);
GDK_AVAILABLE_IN_3_12
void gdk_window_set_event_compression (GdkWindow *window,
gboolean event_compression);
GDK_AVAILABLE_IN_3_12
gboolean gdk_window_get_event_compression (GdkWindow *window);
GDK_AVAILABLE_IN_3_12
void gdk_window_set_shadow_width (GdkWindow *window,
gint left,
+34 -47
View File
@@ -596,14 +596,13 @@ emulate_crossing (GdkWindow *window,
GdkEvent *event;
event = gdk_event_new (type);
event->crossing.window = window ? g_object_ref (window) : NULL;
event->any.window = window ? g_object_ref (window) : NULL;
event->crossing.subwindow = subwindow ? g_object_ref (subwindow) : NULL;
event->crossing.time = time_;
event->crossing.mode = mode;
event->crossing.detail = GDK_NOTIFY_NONLINEAR;
gdk_event_set_device (event, device);
gdk_event_set_source_device (event, device);
gdk_event_set_seat (event, gdk_device_get_seat (device));
gdk_window_get_device_position_double (window, device,
&event->crossing.x, &event->crossing.y,
@@ -627,14 +626,13 @@ emulate_touch_crossing (GdkWindow *window,
GdkEvent *event;
event = gdk_event_new (type);
event->crossing.window = window ? g_object_ref (window) : NULL;
event->any.window = window ? g_object_ref (window) : NULL;
event->crossing.subwindow = subwindow ? g_object_ref (subwindow) : NULL;
event->crossing.time = time_;
event->crossing.mode = mode;
event->crossing.detail = GDK_NOTIFY_NONLINEAR;
gdk_event_set_device (event, device);
gdk_event_set_source_device (event, source);
gdk_event_set_seat (event, gdk_device_get_seat (device));
event->crossing.x = touch->x;
event->crossing.y = touch->y;
@@ -653,11 +651,10 @@ emulate_focus (GdkWindow *window,
GdkEvent *event;
event = gdk_event_new (GDK_FOCUS_CHANGE);
event->focus_change.window = g_object_ref (window);
event->any.window = g_object_ref (window);
event->focus_change.in = focus_in;
gdk_event_set_device (event, device);
gdk_event_set_source_device (event, device);
gdk_event_set_seat (event, gdk_device_get_seat (device));
_gdk_wayland_display_deliver_event (gdk_window_get_display (window), event);
}
@@ -1224,7 +1221,7 @@ create_scroll_event (GdkWaylandSeat *seat,
GdkEvent *event;
event = gdk_event_new (GDK_SCROLL);
event->scroll.window = g_object_ref (pointer_info->focus);
event->any.window = g_object_ref (pointer_info->focus);
gdk_event_set_device (event, device);
gdk_event_set_source_device (event, source_device);
event->scroll.time = pointer_info->time;
@@ -1346,7 +1343,7 @@ gdk_wayland_seat_get_frame_event (GdkWaylandSeat *seat,
GdkEventType evtype)
{
if (seat->pointer_info.frame.event &&
seat->pointer_info.frame.event->type != evtype)
seat->pointer_info.frame.event->any.type != evtype)
gdk_wayland_seat_flush_frame_event (seat);
seat->pointer_info.frame.event = gdk_event_new (evtype);
@@ -1384,10 +1381,9 @@ pointer_handle_enter (void *data,
seat->pointer_info.enter_serial = serial;
event = gdk_wayland_seat_get_frame_event (seat, GDK_ENTER_NOTIFY);
event->crossing.window = g_object_ref (seat->pointer_info.focus);
event->any.window = g_object_ref (seat->pointer_info.focus);
gdk_event_set_device (event, seat->master_pointer);
gdk_event_set_source_device (event, seat->pointer);
gdk_event_set_seat (event, gdk_device_get_seat (seat->master_pointer));
event->crossing.subwindow = NULL;
event->crossing.time = (guint32)(g_get_monotonic_time () / 1000);
event->crossing.mode = GDK_CROSSING_NORMAL;
@@ -1433,10 +1429,9 @@ pointer_handle_leave (void *data,
_gdk_wayland_display_update_serial (display_wayland, serial);
event = gdk_wayland_seat_get_frame_event (seat, GDK_LEAVE_NOTIFY);
event->crossing.window = g_object_ref (seat->pointer_info.focus);
event->any.window = g_object_ref (seat->pointer_info.focus);
gdk_event_set_device (event, seat->master_pointer);
gdk_event_set_source_device (event, seat->pointer);
gdk_event_set_seat (event, GDK_SEAT (seat));
event->crossing.subwindow = NULL;
event->crossing.time = (guint32)(g_get_monotonic_time () / 1000);
event->crossing.mode = GDK_CROSSING_NORMAL;
@@ -1484,10 +1479,9 @@ pointer_handle_motion (void *data,
seat->pointer_info.surface_y = wl_fixed_to_double (sy);
event = gdk_wayland_seat_get_frame_event (seat, GDK_MOTION_NOTIFY);
event->motion.window = g_object_ref (seat->pointer_info.focus);
event->any.window = g_object_ref (seat->pointer_info.focus);
gdk_event_set_device (event, seat->master_pointer);
gdk_event_set_source_device (event, seat->pointer);
gdk_event_set_seat (event, gdk_device_get_seat (seat->master_pointer));
event->motion.time = time;
event->motion.axes = NULL;
event->motion.state = device_get_modifiers (seat->master_pointer);
@@ -1552,10 +1546,9 @@ pointer_handle_button (void *data,
event = gdk_wayland_seat_get_frame_event (seat,
state ? GDK_BUTTON_PRESS :
GDK_BUTTON_RELEASE);
event->button.window = g_object_ref (seat->pointer_info.focus);
event->any.window = g_object_ref (seat->pointer_info.focus);
gdk_event_set_device (event, seat->master_pointer);
gdk_event_set_source_device (event, seat->pointer);
gdk_event_set_seat (event, gdk_device_get_seat (seat->master_pointer));
event->button.time = time;
event->button.axes = NULL;
event->button.state = device_get_modifiers (seat->master_pointer);
@@ -1798,12 +1791,11 @@ keyboard_handle_enter (void *data,
seat->repeat_key = 0;
event = gdk_event_new (GDK_FOCUS_CHANGE);
event->focus_change.window = g_object_ref (seat->keyboard_focus);
event->focus_change.send_event = FALSE;
event->any.window = g_object_ref (seat->keyboard_focus);
event->any.send_event = FALSE;
event->focus_change.in = TRUE;
gdk_event_set_device (event, seat->master_keyboard);
gdk_event_set_source_device (event, seat->keyboard);
gdk_event_set_seat (event, gdk_device_get_seat (seat->master_pointer));
GDK_NOTE (EVENTS,
g_message ("focus in, seat %p surface %p",
@@ -1836,12 +1828,11 @@ keyboard_handle_leave (void *data,
_gdk_wayland_display_update_serial (display, serial);
event = gdk_event_new (GDK_FOCUS_CHANGE);
event->focus_change.window = g_object_ref (seat->keyboard_focus);
event->focus_change.send_event = FALSE;
event->any.window = g_object_ref (seat->keyboard_focus);
event->any.send_event = FALSE;
event->focus_change.in = FALSE;
gdk_event_set_device (event, seat->master_keyboard);
gdk_event_set_source_device (event, seat->keyboard);
gdk_event_set_seat (event, gdk_device_get_seat (seat->master_keyboard));
g_object_unref (seat->keyboard_focus);
seat->keyboard_focus = NULL;
@@ -2027,10 +2018,9 @@ deliver_key_event (GdkWaylandSeat *seat,
seat->key_modifiers = gdk_keymap_get_modifier_state (keymap);
event = gdk_event_new (state ? GDK_KEY_PRESS : GDK_KEY_RELEASE);
event->key.window = seat->keyboard_focus ? g_object_ref (seat->keyboard_focus) : NULL;
event->any.window = seat->keyboard_focus ? g_object_ref (seat->keyboard_focus) : NULL;
gdk_event_set_device (event, seat->master_keyboard);
gdk_event_set_source_device (event, seat->keyboard);
gdk_event_set_seat (event, GDK_SEAT (seat));
event->key.time = time_;
event->key.state = device_get_modifiers (seat->master_pointer);
event->key.group = 0;
@@ -2234,10 +2224,9 @@ _create_touch_event (GdkWaylandSeat *seat,
GdkEvent *event;
event = gdk_event_new (evtype);
event->touch.window = g_object_ref (touch->window);
event->any.window = g_object_ref (touch->window);
gdk_event_set_device (event, seat->touch_master);
gdk_event_set_source_device (event, seat->touch);
gdk_event_set_seat (event, GDK_SEAT (seat));
event->touch.time = time;
event->touch.state = device_get_modifiers (seat->touch_master);
gdk_event_set_display (event, seat->display);
@@ -2444,10 +2433,9 @@ emit_gesture_swipe_event (GdkWaylandSeat *seat,
event = gdk_event_new (GDK_TOUCHPAD_SWIPE);
event->touchpad_swipe.phase = phase;
event->touchpad_swipe.window = g_object_ref (seat->pointer_info.focus);
event->any.window = g_object_ref (seat->pointer_info.focus);
gdk_event_set_device (event, seat->master_pointer);
gdk_event_set_source_device (event, seat->pointer);
gdk_event_set_seat (event, GDK_SEAT (seat));
event->touchpad_swipe.time = _time;
event->touchpad_swipe.state = device_get_modifiers (seat->master_pointer);
gdk_event_set_display (event, seat->display);
@@ -2463,7 +2451,7 @@ emit_gesture_swipe_event (GdkWaylandSeat *seat,
GDK_NOTE (EVENTS,
g_message ("swipe event %d, coords: %f %f, seat %p state %d",
event->type, event->touchpad_swipe.x,
event->any.type, event->touchpad_swipe.x,
event->touchpad_swipe.y, seat,
event->touchpad_swipe.state));
@@ -2546,10 +2534,9 @@ emit_gesture_pinch_event (GdkWaylandSeat *seat,
event = gdk_event_new (GDK_TOUCHPAD_PINCH);
event->touchpad_pinch.phase = phase;
event->touchpad_pinch.window = g_object_ref (seat->pointer_info.focus);
event->any.window = g_object_ref (seat->pointer_info.focus);
gdk_event_set_device (event, seat->master_pointer);
gdk_event_set_source_device (event, seat->pointer);
gdk_event_set_seat (event, GDK_SEAT (seat));
event->touchpad_pinch.time = _time;
event->touchpad_pinch.state = device_get_modifiers (seat->master_pointer);
gdk_event_set_display (event, seat->display);
@@ -2567,7 +2554,7 @@ emit_gesture_pinch_event (GdkWaylandSeat *seat,
GDK_NOTE (EVENTS,
g_message ("pinch event %d, coords: %f %f, seat %p state %d",
event->type, event->touchpad_pinch.x,
event->any.type, event->touchpad_pinch.x,
event->touchpad_pinch.y, seat,
event->touchpad_pinch.state));
@@ -3246,7 +3233,7 @@ gdk_wayland_tablet_flush_frame_event (GdkWaylandTabletData *tablet,
if (!event)
return;
switch ((guint) event->type)
switch ((guint) event->any.type)
{
case GDK_MOTION_NOTIFY:
event->motion.time = time;
@@ -3274,16 +3261,16 @@ gdk_wayland_tablet_flush_frame_event (GdkWaylandTabletData *tablet,
return;
}
if (event->type == GDK_PROXIMITY_OUT)
emulate_crossing (event->proximity.window, NULL,
if (event->any.type == GDK_PROXIMITY_OUT)
emulate_crossing (event->any.window, NULL,
tablet->master, GDK_LEAVE_NOTIFY,
GDK_CROSSING_NORMAL, time);
_gdk_wayland_display_deliver_event (gdk_seat_get_display (tablet->seat),
event);
if (event->type == GDK_PROXIMITY_IN)
emulate_crossing (event->proximity.window, NULL,
if (event->any.type == GDK_PROXIMITY_IN)
emulate_crossing (event->any.window, NULL,
tablet->master, GDK_ENTER_NOTIFY,
GDK_CROSSING_NORMAL, time);
}
@@ -3293,7 +3280,7 @@ gdk_wayland_tablet_get_frame_event (GdkWaylandTabletData *tablet,
GdkEventType evtype)
{
if (tablet->pointer_info.frame.event &&
tablet->pointer_info.frame.event->type != evtype)
tablet->pointer_info.frame.event->any.type != evtype)
gdk_wayland_tablet_flush_frame_event (tablet, GDK_CURRENT_TIME);
tablet->pointer_info.frame.event = gdk_event_new (evtype);
@@ -3417,7 +3404,7 @@ tablet_tool_handle_proximity_in (void *data,
gdk_wayland_mimic_device_axes (tablet->master, tablet->current_device);
event = gdk_wayland_tablet_get_frame_event (tablet, GDK_PROXIMITY_IN);
event->proximity.window = g_object_ref (tablet->pointer_info.focus);
event->any.window = g_object_ref (tablet->pointer_info.focus);
gdk_event_set_device (event, tablet->master);
gdk_event_set_source_device (event, tablet->current_device);
gdk_event_set_device_tool (event, tool->tool);
@@ -3442,7 +3429,7 @@ tablet_tool_handle_proximity_out (void *data,
gdk_device_tool_get_tool_type (tool->tool)));
event = gdk_wayland_tablet_get_frame_event (tablet, GDK_PROXIMITY_OUT);
event->proximity.window = g_object_ref (tablet->pointer_info.focus);
event->any.window = g_object_ref (tablet->pointer_info.focus);
gdk_event_set_device (event, tablet->master);
gdk_event_set_source_device (event, tablet->current_device);
gdk_event_set_device_tool (event, tool->tool);
@@ -3466,7 +3453,7 @@ tablet_create_button_event_frame (GdkWaylandTabletData *tablet,
GdkEvent *event;
event = gdk_wayland_tablet_get_frame_event (tablet, evtype);
event->button.window = g_object_ref (tablet->pointer_info.focus);
event->any.window = g_object_ref (tablet->pointer_info.focus);
gdk_event_set_device (event, tablet->master);
gdk_event_set_source_device (event, tablet->current_device);
gdk_event_set_device_tool (event, tablet->current_tool->tool);
@@ -3536,7 +3523,7 @@ tablet_tool_handle_motion (void *data,
tablet->pointer_info.surface_y));
event = gdk_wayland_tablet_get_frame_event (tablet, GDK_MOTION_NOTIFY);
event->motion.window = g_object_ref (tablet->pointer_info.focus);
event->any.window = g_object_ref (tablet->pointer_info.focus);
gdk_event_set_device (event, tablet->master);
gdk_event_set_source_device (event, tablet->current_device);
gdk_event_set_device_tool (event, tool->tool);
@@ -3728,7 +3715,7 @@ tablet_tool_handle_frame (void *data,
frame_event = tablet->pointer_info.frame.event;
if (frame_event && frame_event->type == GDK_PROXIMITY_OUT)
if (frame_event && frame_event->any.type == GDK_PROXIMITY_OUT)
{
tool->current_tablet = NULL;
tablet->current_tool = NULL;
@@ -3814,7 +3801,7 @@ tablet_pad_ring_handle_frame (void *data,
g_message ("tablet pad ring handle frame, ring = %p", wp_tablet_pad_ring));
event = gdk_event_new (GDK_PAD_RING);
g_set_object (&event->pad_axis.window, seat->keyboard_focus);
g_set_object (&event->any.window, seat->keyboard_focus);
event->pad_axis.time = time;
event->pad_axis.group = g_list_index (pad->mode_groups, group);
event->pad_axis.index = g_list_index (pad->rings, wp_tablet_pad_ring);
@@ -3890,7 +3877,7 @@ tablet_pad_strip_handle_frame (void *data,
wp_tablet_pad_strip));
event = gdk_event_new (GDK_PAD_STRIP);
g_set_object (&event->pad_axis.window, seat->keyboard_focus);
g_set_object (&event->any.window, seat->keyboard_focus);
event->pad_axis.time = time;
event->pad_axis.group = g_list_index (pad->mode_groups, group);
event->pad_axis.index = g_list_index (pad->strips, wp_tablet_pad_strip);
@@ -4014,7 +4001,7 @@ tablet_pad_group_handle_mode (void *data,
n_group = g_list_index (pad->mode_groups, group);
event = gdk_event_new (GDK_PAD_GROUP_MODE);
g_set_object (&event->pad_button.window, seat->keyboard_focus);
g_set_object (&event->any.window, seat->keyboard_focus);
event->pad_group_mode.group = n_group;
event->pad_group_mode.mode = mode;
event->pad_group_mode.time = time;
@@ -4131,7 +4118,7 @@ tablet_pad_handle_button (void *data,
event = gdk_event_new (state == ZWP_TABLET_PAD_V2_BUTTON_STATE_PRESSED ?
GDK_PAD_BUTTON_PRESS :
GDK_PAD_BUTTON_RELEASE);
g_set_object (&event->pad_button.window, seat->keyboard_focus);
g_set_object (&event->any.window, seat->keyboard_focus);
event->pad_button.button = button;
event->pad_button.group = n_group;
event->pad_button.mode = group->current_mode;
+2 -2
View File
@@ -130,7 +130,7 @@ _gdk_wayland_drag_context_emit_event (GdkDragContext *context,
window = gdk_drag_context_get_dest_window (context);
event = gdk_event_new (type);
event->dnd.window = g_object_ref (window);
event->any.window = g_object_ref (window);
event->dnd.context = g_object_ref (context);
event->dnd.time = time_;
event->dnd.x_root = GDK_WAYLAND_DRAG_CONTEXT (context)->x;
@@ -138,7 +138,7 @@ _gdk_wayland_drag_context_emit_event (GdkDragContext *context,
gdk_event_set_device (event, gdk_drag_context_get_device (context));
gdk_display_put_event (gdk_window_get_display (window), event);
gdk_event_free (event);
g_object_unref (event);
}
static GdkWindow *
+1 -1
View File
@@ -123,7 +123,7 @@ gdk_event_source_dispatch (GSource *base,
{
_gdk_event_emit (event);
gdk_event_free (event);
g_object_unref (event);
}
gdk_threads_leave ();
+11 -11
View File
@@ -124,8 +124,8 @@ selection_buffer_notify (SelectionBuffer *buffer)
for (l = buffer->requestors; l; l = l->next)
{
event = gdk_event_new (GDK_SELECTION_NOTIFY);
event->selection.window = g_object_ref (l->data);
event->selection.send_event = FALSE;
event->any.window = g_object_ref (l->data);
event->any.send_event = FALSE;
event->selection.selection = buffer->selection;
event->selection.target = buffer->target;
event->selection.property = gdk_atom_intern_static_string ("GDK_SELECTION");
@@ -133,7 +133,7 @@ selection_buffer_notify (SelectionBuffer *buffer)
event->selection.requestor = g_object_ref (l->data);
_gdk_display_put_event (gdk_window_get_display (l->data), event);
gdk_event_free (event);
g_object_unref (event);
}
}
@@ -563,8 +563,8 @@ gdk_wayland_selection_emit_request (GdkWindow *window,
GdkEvent *event;
event = gdk_event_new (GDK_SELECTION_REQUEST);
event->selection.window = g_object_ref (window);
event->selection.send_event = FALSE;
event->any.window = g_object_ref (window);
event->any.send_event = FALSE;
event->selection.selection = selection;
event->selection.target = target;
event->selection.property = gdk_atom_intern_static_string ("GDK_SELECTION");
@@ -572,7 +572,7 @@ gdk_wayland_selection_emit_request (GdkWindow *window,
event->selection.requestor = g_object_ref (window);
_gdk_display_put_event (gdk_window_get_display (window), event);
gdk_event_free (event);
g_object_unref (event);
}
static AsyncWriteData *
@@ -1096,8 +1096,8 @@ emit_empty_selection_notify (GdkWindow *requestor,
GdkEvent *event;
event = gdk_event_new (GDK_SELECTION_NOTIFY);
event->selection.window = g_object_ref (requestor);
event->selection.send_event = FALSE;
event->any.window = g_object_ref (requestor);
event->any.send_event = FALSE;
event->selection.selection = selection;
event->selection.target = target;
event->selection.property = NULL;
@@ -1105,7 +1105,7 @@ emit_empty_selection_notify (GdkWindow *requestor,
event->selection.requestor = g_object_ref (requestor);
_gdk_display_put_event (gdk_window_get_display (requestor), event);
gdk_event_free (event);
g_object_unref (event);
}
static void
@@ -1122,12 +1122,12 @@ emit_selection_clear (GdkDisplay *display,
window = _gdk_wayland_display_get_selection_owner (display, selection);
if (window != NULL)
{
event->selection.window = g_object_ref (window);
event->any.window = g_object_ref (window);
event->selection.requestor = g_object_ref (window);
}
_gdk_display_put_event (display, event);
gdk_event_free (event);
g_object_unref (event);
}
void
+3 -3
View File
@@ -933,8 +933,8 @@ gdk_wayland_window_configure (GdkWindow *window,
GdkEvent *event;
event = gdk_event_new (GDK_CONFIGURE);
event->configure.window = g_object_ref (window);
event->configure.send_event = FALSE;
event->any.window = g_object_ref (window);
event->any.send_event = FALSE;
event->configure.width = width;
event->configure.height = height;
@@ -3602,7 +3602,7 @@ gdk_wayland_window_show_window_menu (GdkWindow *window,
double x, y;
uint32_t serial;
switch ((guint) event->type)
switch ((guint) event->any.type)
{
case GDK_BUTTON_PRESS:
case GDK_BUTTON_RELEASE:
+21 -21
View File
@@ -196,7 +196,7 @@ translate_key_event (GdkDisplay *display,
GdkKeymap *keymap = gdk_keymap_get_for_display (display);
GdkModifierType consumed, state;
event->key.type = xevent->xany.type == KeyPress ? GDK_KEY_PRESS : GDK_KEY_RELEASE;
event->any.type = xevent->xany.type == KeyPress ? GDK_KEY_PRESS : GDK_KEY_RELEASE;
event->key.time = xevent->xkey.time;
gdk_event_set_device (event, device_manager->core_keyboard);
@@ -226,7 +226,7 @@ translate_key_event (GdkDisplay *display,
if (GDK_DEBUG_CHECK (EVENTS))
{
g_message ("%s:\t\twindow: %ld key: %12s %d",
event->type == GDK_KEY_PRESS ? "key press " : "key release",
event->any.type == GDK_KEY_PRESS ? "key press " : "key release",
xevent->xkey.window,
event->key.keyval ? gdk_keyval_name (event->key.keyval) : "(none)",
event->key.keyval);
@@ -487,7 +487,7 @@ gdk_x11_device_manager_core_translate_event (GdkEventTranslator *translator,
case 5: /* down */
case 6: /* left */
case 7: /* right */
event->scroll.type = GDK_SCROLL;
event->any.type = GDK_SCROLL;
if (xevent->xbutton.button == 4)
event->scroll.direction = GDK_SCROLL_UP;
@@ -498,14 +498,14 @@ gdk_x11_device_manager_core_translate_event (GdkEventTranslator *translator,
else
event->scroll.direction = GDK_SCROLL_RIGHT;
event->scroll.window = window;
event->any.window = window;
event->scroll.time = xevent->xbutton.time;
event->scroll.x = (gdouble) xevent->xbutton.x / scale;
event->scroll.y = (gdouble) xevent->xbutton.y / scale;
event->scroll.x_root = (gdouble) xevent->xbutton.x_root / scale;
event->scroll.y_root = (gdouble) xevent->xbutton.y_root / scale;
event->scroll.state = (GdkModifierType) xevent->xbutton.state;
event->scroll.device = device_manager->core_pointer;
gdk_event_set_device (event, device_manager->core_pointer);
event->scroll.delta_x = 0;
event->scroll.delta_y = 0;
@@ -515,8 +515,8 @@ gdk_x11_device_manager_core_translate_event (GdkEventTranslator *translator,
break;
default:
event->button.type = GDK_BUTTON_PRESS;
event->button.window = window;
event->any.type = GDK_BUTTON_PRESS;
event->any.window = window;
event->button.time = xevent->xbutton.time;
event->button.x = (gdouble) xevent->xbutton.x / scale;
event->button.y = (gdouble) xevent->xbutton.y / scale;
@@ -525,7 +525,7 @@ gdk_x11_device_manager_core_translate_event (GdkEventTranslator *translator,
event->button.axes = NULL;
event->button.state = (GdkModifierType) xevent->xbutton.state;
event->button.button = xevent->xbutton.button;
event->button.device = device_manager->core_pointer;
gdk_event_set_device (event, device_manager->core_pointer);
gdk_event_set_display (event, display);
@@ -557,8 +557,8 @@ gdk_x11_device_manager_core_translate_event (GdkEventTranslator *translator,
break;
}
event->button.type = GDK_BUTTON_RELEASE;
event->button.window = window;
event->any.type = GDK_BUTTON_RELEASE;
event->any.window = window;
event->button.time = xevent->xbutton.time;
event->button.x = (gdouble) xevent->xbutton.x / scale;
event->button.y = (gdouble) xevent->xbutton.y / scale;
@@ -567,7 +567,7 @@ gdk_x11_device_manager_core_translate_event (GdkEventTranslator *translator,
event->button.axes = NULL;
event->button.state = (GdkModifierType) xevent->xbutton.state;
event->button.button = xevent->xbutton.button;
event->button.device = device_manager->core_pointer;
gdk_event_set_device (event, device_manager->core_pointer);
gdk_event_set_display (event, display);
@@ -586,8 +586,8 @@ gdk_x11_device_manager_core_translate_event (GdkEventTranslator *translator,
break;
}
event->motion.type = GDK_MOTION_NOTIFY;
event->motion.window = window;
event->any.type = GDK_MOTION_NOTIFY;
event->any.window = window;
event->motion.time = xevent->xmotion.time;
event->motion.x = (gdouble) xevent->xmotion.x / scale;
event->motion.y = (gdouble) xevent->xmotion.y / scale;
@@ -596,7 +596,7 @@ gdk_x11_device_manager_core_translate_event (GdkEventTranslator *translator,
event->motion.axes = NULL;
event->motion.state = (GdkModifierType) xevent->xmotion.state;
event->motion.is_hint = xevent->xmotion.is_hint;
event->motion.device = device_manager->core_pointer;
gdk_event_set_device (event, device_manager->core_pointer);
gdk_event_set_display (event, display);
@@ -617,8 +617,8 @@ gdk_x11_device_manager_core_translate_event (GdkEventTranslator *translator,
gdk_event_set_display (event, display);
event->crossing.type = GDK_ENTER_NOTIFY;
event->crossing.window = window;
event->any.type = GDK_ENTER_NOTIFY;
event->any.window = window;
gdk_event_set_device (event, device_manager->core_pointer);
/* If the subwindow field of the XEvent is non-NULL, then
@@ -657,8 +657,8 @@ gdk_x11_device_manager_core_translate_event (GdkEventTranslator *translator,
gdk_event_set_display (event, display);
event->crossing.type = GDK_LEAVE_NOTIFY;
event->crossing.window = window;
event->any.type = GDK_LEAVE_NOTIFY;
event->any.window = window;
gdk_event_set_device (event, device_manager->core_pointer);
/* If the subwindow field of the XEvent is non-NULL, then
@@ -889,15 +889,15 @@ _gdk_device_manager_core_handle_focus (GdkWindow *window,
GdkEvent *event;
event = gdk_event_new (GDK_FOCUS_CHANGE);
event->focus_change.window = g_object_ref (window);
event->focus_change.send_event = FALSE;
event->any.window = g_object_ref (window);
event->any.send_event = FALSE;
event->focus_change.in = focus_in;
gdk_event_set_device (event, device);
if (source_device)
gdk_event_set_source_device (event, source_device);
gdk_display_put_event (gdk_window_get_display (window), event);
gdk_event_free (event);
g_object_unref (event);
}
}
+33 -47
View File
@@ -1420,9 +1420,9 @@ gdk_x11_device_manager_xi2_translate_event (GdkEventTranslator *translator,
xev->sourceid,
xev->detail));
event->key.type = xev->evtype == XI_KeyPress ? GDK_KEY_PRESS : GDK_KEY_RELEASE;
event->any.type = xev->evtype == XI_KeyPress ? GDK_KEY_PRESS : GDK_KEY_RELEASE;
event->key.window = window;
event->any.window = window;
event->key.time = xev->time;
event->key.state = _gdk_x11_device_xi2_translate_state (&xev->mods, &xev->buttons, &xev->group);
@@ -1439,7 +1439,6 @@ gdk_x11_device_manager_xi2_translate_event (GdkEventTranslator *translator,
source_device = g_hash_table_lookup (device_manager->id_table,
GUINT_TO_POINTER (xev->sourceid));
gdk_event_set_source_device (event, source_device);
gdk_event_set_seat (event, gdk_device_get_seat (device));
event->key.keyval = GDK_KEY_VoidSymbol;
@@ -1495,7 +1494,7 @@ gdk_x11_device_manager_xi2_translate_event (GdkEventTranslator *translator,
(xev->detail >= 4 && xev->detail <= 7))
{
/* Button presses of button 4-7 are scroll events */
event->scroll.type = GDK_SCROLL;
event->any.type = GDK_SCROLL;
if (xev->detail == 4)
event->scroll.direction = GDK_SCROLL_UP;
@@ -1506,7 +1505,7 @@ gdk_x11_device_manager_xi2_translate_event (GdkEventTranslator *translator,
else
event->scroll.direction = GDK_SCROLL_RIGHT;
event->scroll.window = window;
event->any.window = window;
event->scroll.time = xev->time;
event->scroll.x = (gdouble) xev->event_x / scale;
event->scroll.y = (gdouble) xev->event_y / scale;
@@ -1522,15 +1521,14 @@ gdk_x11_device_manager_xi2_translate_event (GdkEventTranslator *translator,
source_device = g_hash_table_lookup (device_manager->id_table,
GUINT_TO_POINTER (xev->sourceid));
gdk_event_set_source_device (event, source_device);
gdk_event_set_seat (event, gdk_device_get_seat (device));
event->scroll.state = _gdk_x11_device_xi2_translate_state (&xev->mods, &xev->buttons, &xev->group);
}
else
{
event->button.type = (ev->evtype == XI_ButtonPress) ? GDK_BUTTON_PRESS : GDK_BUTTON_RELEASE;
event->any.type = (ev->evtype == XI_ButtonPress) ? GDK_BUTTON_PRESS : GDK_BUTTON_RELEASE;
event->button.window = window;
event->any.window = window;
event->button.time = xev->time;
event->button.x = (gdouble) xev->event_x / scale;
event->button.y = (gdouble) xev->event_y / scale;
@@ -1544,19 +1542,16 @@ gdk_x11_device_manager_xi2_translate_event (GdkEventTranslator *translator,
source_device = g_hash_table_lookup (device_manager->id_table,
GUINT_TO_POINTER (xev->sourceid));
gdk_event_set_source_device (event, source_device);
gdk_event_set_seat (event, gdk_device_get_seat (device));
gdk_event_set_device_tool (event, source_device->last_tool);
event->button.axes = translate_axes (event->button.device,
event->button.axes = translate_axes (device,
event->button.x,
event->button.y,
event->button.window,
event->any.window,
&xev->valuators);
if (gdk_device_get_mode (event->button.device) == GDK_MODE_WINDOW)
if (gdk_device_get_mode (device) == GDK_MODE_WINDOW)
{
GdkDevice *device = event->button.device;
/* Update event coordinates from axes */
gdk_device_get_axis (device, event->button.axes, GDK_AXIS_X, &event->button.x);
gdk_device_get_axis (device, event->button.axes, GDK_AXIS_Y, &event->button.y);
@@ -1605,7 +1600,7 @@ gdk_x11_device_manager_xi2_translate_event (GdkEventTranslator *translator,
scroll_valuators_changed (GDK_X11_DEVICE_XI2 (source_device),
&xev->valuators, &delta_x, &delta_y))
{
event->scroll.type = GDK_SCROLL;
event->any.type = GDK_SCROLL;
event->scroll.direction = GDK_SCROLL_SMOOTH;
if (delta_x == 0.0 && delta_y == 0.0)
@@ -1617,7 +1612,7 @@ gdk_x11_device_manager_xi2_translate_event (GdkEventTranslator *translator,
xev->event, delta_x, delta_y));
event->scroll.window = window;
event->any.window = window;
event->scroll.time = xev->time;
event->scroll.x = (gdouble) xev->event_x / scale;
event->scroll.y = (gdouble) xev->event_y / scale;
@@ -1626,25 +1621,23 @@ gdk_x11_device_manager_xi2_translate_event (GdkEventTranslator *translator,
event->scroll.delta_x = delta_x;
event->scroll.delta_y = delta_y;
event->scroll.device = device;
gdk_event_set_device (event, device);
gdk_event_set_source_device (event, source_device);
gdk_event_set_seat (event, gdk_device_get_seat (device));
event->scroll.state = _gdk_x11_device_xi2_translate_state (&xev->mods, &xev->buttons, &xev->group);
break;
}
event->motion.type = GDK_MOTION_NOTIFY;
event->motion.window = window;
event->any.type = GDK_MOTION_NOTIFY;
event->any.window = window;
event->motion.time = xev->time;
event->motion.x = (gdouble) xev->event_x / scale;
event->motion.y = (gdouble) xev->event_y / scale;
event->motion.x_root = (gdouble) xev->root_x / scale;
event->motion.y_root = (gdouble) xev->root_y / scale;
event->motion.device = device;
gdk_event_set_device (event, device);
gdk_event_set_source_device (event, source_device);
gdk_event_set_seat (event, gdk_device_get_seat (device));
gdk_event_set_device_tool (event, source_device->last_tool);
event->motion.state = _gdk_x11_device_xi2_translate_state (&xev->mods, &xev->buttons, &xev->group);
@@ -1652,17 +1645,17 @@ gdk_x11_device_manager_xi2_translate_event (GdkEventTranslator *translator,
/* There doesn't seem to be motion hints in XI */
event->motion.is_hint = FALSE;
event->motion.axes = translate_axes (event->motion.device,
event->motion.axes = translate_axes (device,
event->motion.x,
event->motion.y,
event->motion.window,
event->any.window,
&xev->valuators);
if (gdk_device_get_mode (event->motion.device) == GDK_MODE_WINDOW)
if (gdk_device_get_mode (device) == GDK_MODE_WINDOW)
{
/* Update event coordinates from axes */
gdk_device_get_axis (event->motion.device, event->motion.axes, GDK_AXIS_X, &event->motion.x);
gdk_device_get_axis (event->motion.device, event->motion.axes, GDK_AXIS_Y, &event->motion.y);
gdk_device_get_axis (device, event->motion.axes, GDK_AXIS_X, &event->motion.x);
gdk_device_get_axis (device, event->motion.axes, GDK_AXIS_Y, &event->motion.y);
}
}
break;
@@ -1681,11 +1674,11 @@ gdk_x11_device_manager_xi2_translate_event (GdkEventTranslator *translator,
xev->flags & XITouchEmulatingPointer ? "true" : "false"));
if (ev->evtype == XI_TouchBegin)
event->touch.type = GDK_TOUCH_BEGIN;
event->any.type = GDK_TOUCH_BEGIN;
else if (ev->evtype == XI_TouchEnd)
event->touch.type = GDK_TOUCH_END;
event->any.type = GDK_TOUCH_END;
event->touch.window = window;
event->any.window = window;
event->touch.time = xev->time;
event->touch.x = (gdouble) xev->event_x / scale;
event->touch.y = (gdouble) xev->event_y / scale;
@@ -1699,18 +1692,15 @@ gdk_x11_device_manager_xi2_translate_event (GdkEventTranslator *translator,
source_device = g_hash_table_lookup (device_manager->id_table,
GUINT_TO_POINTER (xev->sourceid));
gdk_event_set_source_device (event, source_device);
gdk_event_set_seat (event, gdk_device_get_seat (device));
event->touch.axes = translate_axes (event->touch.device,
event->touch.axes = translate_axes (device,
event->touch.x,
event->touch.y,
event->touch.window,
event->any.window,
&xev->valuators);
if (gdk_device_get_mode (event->touch.device) == GDK_MODE_WINDOW)
if (gdk_device_get_mode (device) == GDK_MODE_WINDOW)
{
GdkDevice *device = event->touch.device;
/* Update event coordinates from axes */
gdk_device_get_axis (device, event->touch.axes, GDK_AXIS_X, &event->touch.x);
gdk_device_get_axis (device, event->touch.axes, GDK_AXIS_Y, &event->touch.y);
@@ -1749,9 +1739,9 @@ gdk_x11_device_manager_xi2_translate_event (GdkEventTranslator *translator,
xev->detail,
xev->flags & XITouchEmulatingPointer ? "true" : "false"));
event->touch.window = window;
event->any.window = window;
event->touch.sequence = GUINT_TO_POINTER (xev->detail);
event->touch.type = GDK_TOUCH_UPDATE;
event->any.type = GDK_TOUCH_UPDATE;
event->touch.time = xev->time;
event->touch.x = (gdouble) xev->event_x / scale;
event->touch.y = (gdouble) xev->event_y / scale;
@@ -1765,7 +1755,6 @@ gdk_x11_device_manager_xi2_translate_event (GdkEventTranslator *translator,
source_device = g_hash_table_lookup (device_manager->id_table,
GUINT_TO_POINTER (xev->sourceid));
gdk_event_set_source_device (event, source_device);
gdk_event_set_seat (event, gdk_device_get_seat (device));
event->touch.state = _gdk_x11_device_xi2_translate_state (&xev->mods, &xev->buttons, &xev->group);
@@ -1777,16 +1766,14 @@ gdk_x11_device_manager_xi2_translate_event (GdkEventTranslator *translator,
gdk_event_set_pointer_emulated (event, TRUE);
}
event->touch.axes = translate_axes (event->touch.device,
event->touch.axes = translate_axes (device,
event->touch.x,
event->touch.y,
event->touch.window,
event->any.window,
&xev->valuators);
if (gdk_device_get_mode (event->touch.device) == GDK_MODE_WINDOW)
if (gdk_device_get_mode (device) == GDK_MODE_WINDOW)
{
GdkDevice *device = event->touch.device;
/* Update event coordinates from axes */
gdk_device_get_axis (device, event->touch.axes, GDK_AXIS_X, &event->touch.x);
gdk_device_get_axis (device, event->touch.axes, GDK_AXIS_Y, &event->touch.y);
@@ -1809,7 +1796,7 @@ gdk_x11_device_manager_xi2_translate_event (GdkEventTranslator *translator,
xev->deviceid, xev->sourceid,
xev->detail, xev->mode));
event->crossing.type = (ev->evtype == XI_Enter) ? GDK_ENTER_NOTIFY : GDK_LEAVE_NOTIFY;
event->any.type = (ev->evtype == XI_Enter) ? GDK_ENTER_NOTIFY : GDK_LEAVE_NOTIFY;
event->crossing.x = (gdouble) xev->event_x / scale;
event->crossing.y = (gdouble) xev->event_y / scale;
@@ -1818,7 +1805,7 @@ gdk_x11_device_manager_xi2_translate_event (GdkEventTranslator *translator,
event->crossing.time = xev->time;
event->crossing.focus = xev->focus;
event->crossing.window = window;
event->any.window = window;
event->crossing.subwindow = gdk_x11_window_lookup_for_display (display, xev->child);
device = g_hash_table_lookup (device_manager->id_table,
@@ -1828,7 +1815,6 @@ gdk_x11_device_manager_xi2_translate_event (GdkEventTranslator *translator,
source_device = g_hash_table_lookup (device_manager->id_table,
GUINT_TO_POINTER (xev->sourceid));
gdk_event_set_source_device (event, source_device);
gdk_event_set_seat (event, gdk_device_get_seat (device));
if (ev->evtype == XI_Enter &&
xev->detail != XINotifyInferior && xev->mode != XINotifyPassiveUngrab &&
+10 -10
View File
@@ -948,8 +948,8 @@ gdk_x11_display_translate_event (GdkEventTranslator *translator,
return_val = FALSE;
else
{
event->configure.type = GDK_CONFIGURE;
event->configure.window = window;
event->any.type = GDK_CONFIGURE;
event->any.window = window;
event->configure.width = (xevent->xconfigure.width + window_impl->window_scale - 1) / window_impl->window_scale;
event->configure.height = (xevent->xconfigure.height + window_impl->window_scale - 1) / window_impl->window_scale;
@@ -1040,8 +1040,8 @@ gdk_x11_display_translate_event (GdkEventTranslator *translator,
if (window->event_mask & GDK_PROPERTY_CHANGE_MASK)
{
event->property.type = GDK_PROPERTY_NOTIFY;
event->property.window = window;
event->any.type = GDK_PROPERTY_NOTIFY;
event->any.window = window;
event->property.atom = gdk_x11_xatom_to_atom_for_display (display, xevent->xproperty.atom);
event->property.time = xevent->xproperty.time;
event->property.state = xevent->xproperty.state;
@@ -1058,8 +1058,8 @@ gdk_x11_display_translate_event (GdkEventTranslator *translator,
if (_gdk_x11_selection_filter_clear_event (&xevent->xselectionclear))
{
event->selection.type = GDK_SELECTION_CLEAR;
event->selection.window = window;
event->any.type = GDK_SELECTION_CLEAR;
event->any.window = window;
event->selection.selection = gdk_x11_xatom_to_atom_for_display (display, xevent->xselectionclear.selection);
event->selection.time = xevent->xselectionclear.time;
}
@@ -1073,8 +1073,8 @@ gdk_x11_display_translate_event (GdkEventTranslator *translator,
g_message ("selection request:\twindow: %ld",
xevent->xproperty.window));
event->selection.type = GDK_SELECTION_REQUEST;
event->selection.window = window;
event->any.type = GDK_SELECTION_REQUEST;
event->any.window = window;
event->selection.selection = gdk_x11_xatom_to_atom_for_display (display, xevent->xselectionrequest.selection);
event->selection.target = gdk_x11_xatom_to_atom_for_display (display, xevent->xselectionrequest.target);
if (xevent->xselectionrequest.property == None)
@@ -1095,8 +1095,8 @@ gdk_x11_display_translate_event (GdkEventTranslator *translator,
g_message ("selection notify:\twindow: %ld",
xevent->xproperty.window));
event->selection.type = GDK_SELECTION_NOTIFY;
event->selection.window = window;
event->any.type = GDK_SELECTION_NOTIFY;
event->any.window = window;
event->selection.selection = gdk_x11_xatom_to_atom_for_display (display, xevent->xselection.selection);
event->selection.target = gdk_x11_xatom_to_atom_for_display (display, xevent->xselection.target);
if (xevent->xselection.property == None)
+20 -20
View File
@@ -1084,8 +1084,8 @@ xdnd_status_filter (GdkXEvent *xev,
if (context_x11->drag_status == GDK_DRAG_STATUS_MOTION_WAIT)
context_x11->drag_status = GDK_DRAG_STATUS_DRAG;
event->dnd.send_event = FALSE;
event->dnd.type = GDK_DRAG_STATUS;
event->any.send_event = FALSE;
event->any.type = GDK_DRAG_STATUS;
event->dnd.context = context;
gdk_event_set_device (event, gdk_drag_context_get_device (context));
g_object_ref (context);
@@ -1133,7 +1133,7 @@ xdnd_finished_filter (GdkXEvent *xev,
if (context_x11->version == 5)
context_x11->drop_failed = xevent->xclient.data.l[1] == 0;
event->dnd.type = GDK_DROP_FINISHED;
event->any.type = GDK_DROP_FINISHED;
event->dnd.context = context;
gdk_event_set_device (event, gdk_drag_context_get_device (context));
g_object_ref (context);
@@ -1248,15 +1248,15 @@ send_client_message_async_cb (Window window,
context_x11->drag_status = GDK_DRAG_STATUS_DRAG;
temp_event = gdk_event_new (GDK_DRAG_STATUS);
temp_event->dnd.window = g_object_ref (context->source_window);
temp_event->dnd.send_event = TRUE;
temp_event->any.window = g_object_ref (context->source_window);
temp_event->any.send_event = TRUE;
temp_event->dnd.context = g_object_ref (context);
temp_event->dnd.time = GDK_CURRENT_TIME;
gdk_event_set_device (temp_event, gdk_drag_context_get_device (context));
gdk_display_put_event (gdk_drag_context_get_display (context), temp_event);
gdk_event_free (temp_event);
g_object_unref (temp_event);
}
g_object_unref (context);
@@ -1309,7 +1309,7 @@ xdnd_send_xevent (GdkX11DragContext *context_x11,
if ((*xdnd_filters[i].func) (event_send, temp_event, NULL) == GDK_FILTER_TRANSLATE)
gdk_display_put_event (display, temp_event);
gdk_event_free (temp_event);
g_object_unref (temp_event);
return TRUE;
}
@@ -1855,7 +1855,7 @@ xdnd_enter_filter (GdkXEvent *xev,
xdnd_manage_source_filter (context, context->source_window, TRUE);
xdnd_read_actions (context_x11);
event->dnd.type = GDK_DRAG_ENTER;
event->any.type = GDK_DRAG_ENTER;
event->dnd.context = context;
gdk_event_set_device (event, gdk_drag_context_get_device (context));
g_object_ref (context);
@@ -1892,7 +1892,7 @@ xdnd_leave_filter (GdkXEvent *xev,
(display_x11->current_dest_drag->protocol == GDK_DRAG_PROTO_XDND) &&
(GDK_WINDOW_XID (display_x11->current_dest_drag->source_window) == source_window))
{
event->dnd.type = GDK_DRAG_LEAVE;
event->any.type = GDK_DRAG_LEAVE;
/* Pass ownership of context to the event */
event->dnd.context = display_x11->current_dest_drag;
gdk_event_set_device (event, gdk_drag_context_get_device (event->dnd.context));
@@ -1945,7 +1945,7 @@ xdnd_position_filter (GdkXEvent *xev,
context_x11 = GDK_X11_DRAG_CONTEXT (context);
event->dnd.type = GDK_DRAG_MOTION;
event->any.type = GDK_DRAG_MOTION;
event->dnd.context = context;
gdk_event_set_device (event, gdk_drag_context_get_device (context));
g_object_ref (context);
@@ -2002,7 +2002,7 @@ xdnd_drop_filter (GdkXEvent *xev,
(GDK_WINDOW_XID (context->source_window) == source_window))
{
context_x11 = GDK_X11_DRAG_CONTEXT (context);
event->dnd.type = GDK_DROP_START;
event->any.type = GDK_DROP_START;
event->dnd.context = context;
gdk_event_set_device (event, gdk_drag_context_get_device (context));
@@ -2348,18 +2348,18 @@ gdk_x11_drag_context_drag_motion (GdkDragContext *context,
* the drag changed
*/
temp_event = gdk_event_new (GDK_DRAG_STATUS);
temp_event->dnd.window = g_object_ref (context->source_window);
temp_event->any.window = g_object_ref (context->source_window);
/* We use this to signal a synthetic status. Perhaps
* we should use an extra field...
*/
temp_event->dnd.send_event = TRUE;
temp_event->any.send_event = TRUE;
temp_event->dnd.context = g_object_ref (context);
temp_event->dnd.time = time;
gdk_event_set_device (temp_event, gdk_drag_context_get_device (context));
gdk_display_put_event (gdk_drag_context_get_display (context), temp_event);
gdk_event_free (temp_event);
g_object_unref (temp_event);
}
else
{
@@ -2397,14 +2397,14 @@ gdk_x11_drag_context_drag_motion (GdkDragContext *context,
context->action = 0;
temp_event = gdk_event_new (GDK_DRAG_STATUS);
temp_event->dnd.window = g_object_ref (context->source_window);
temp_event->dnd.send_event = FALSE;
temp_event->any.window = g_object_ref (context->source_window);
temp_event->any.send_event = FALSE;
temp_event->dnd.context = g_object_ref (context);
temp_event->dnd.time = time;
gdk_event_set_device (temp_event, gdk_drag_context_get_device (context));
gdk_display_put_event (gdk_drag_context_get_display (context), temp_event);
gdk_event_free (temp_event);
g_object_unref (temp_event);
}
break;
case GDK_DRAG_PROTO_MOTIF:
@@ -3052,7 +3052,7 @@ gdk_dnd_handle_key_event (GdkDragContext *context,
state = event->state;
pointer = gdk_device_get_associated_device (gdk_event_get_device ((GdkEvent *) event));
if (event->type == GDK_KEY_PRESS)
if (event->any.type == GDK_KEY_PRESS)
{
switch (event->keyval)
{
@@ -3208,10 +3208,10 @@ gdk_x11_drag_context_handle_event (GdkDragContext *context,
if (!context->is_source)
return FALSE;
if (!x11_context->grab_seat && event->type != GDK_DROP_FINISHED)
if (!x11_context->grab_seat && event->any.type != GDK_DROP_FINISHED)
return FALSE;
switch ((guint) event->type)
switch ((guint) event->any.type)
{
case GDK_MOTION_NOTIFY:
return gdk_dnd_handle_motion_event (context, &event->motion);
+21 -21
View File
@@ -136,9 +136,9 @@ handle_focus_change (GdkEventCrossing *event)
GdkX11Screen *x11_screen;
gboolean focus_in, had_focus;
toplevel = _gdk_x11_window_get_toplevel (event->window);
x11_screen = GDK_X11_SCREEN (GDK_WINDOW_SCREEN (event->window));
focus_in = (event->type == GDK_ENTER_NOTIFY);
toplevel = _gdk_x11_window_get_toplevel (event->any.window);
x11_screen = GDK_X11_SCREEN (GDK_WINDOW_SCREEN (event->any.window));
focus_in = (event->any.type == GDK_ENTER_NOTIFY);
if (x11_screen->wmspec_check_window)
return;
@@ -159,13 +159,13 @@ handle_focus_change (GdkEventCrossing *event)
GdkEvent *focus_event;
focus_event = gdk_event_new (GDK_FOCUS_CHANGE);
focus_event->focus_change.window = g_object_ref (event->window);
focus_event->focus_change.send_event = FALSE;
focus_event->any.window = g_object_ref (event->any.window);
focus_event->any.send_event = FALSE;
focus_event->focus_change.in = focus_in;
gdk_event_set_device (focus_event, gdk_event_get_device ((GdkEvent *) event));
gdk_display_put_event (gdk_window_get_display (event->window), focus_event);
gdk_event_free (focus_event);
gdk_display_put_event (gdk_window_get_display (event->any.window), focus_event);
g_object_unref (focus_event);
}
}
@@ -181,8 +181,8 @@ create_synth_crossing_event (GdkEventType evtype,
g_assert (evtype == GDK_ENTER_NOTIFY || evtype == GDK_LEAVE_NOTIFY);
event = gdk_event_new (evtype);
event->crossing.send_event = TRUE;
event->crossing.window = g_object_ref (real_event->any.window);
event->any.send_event = TRUE;
event->any.window = g_object_ref (real_event->any.window);
event->crossing.detail = GDK_NOTIFY_ANCESTOR;
event->crossing.mode = mode;
event->crossing.time = gdk_event_get_time (real_event);
@@ -259,7 +259,7 @@ handle_touch_synthetic_crossing (GdkEvent *event)
if (crossing)
{
gdk_display_put_event (gdk_device_get_display (device), crossing);
gdk_event_free (crossing);
g_object_unref (crossing);
}
}
@@ -324,14 +324,14 @@ gdk_event_source_translate_event (GdkX11Display *x11_display,
{
if (result == GDK_FILTER_REMOVE)
{
gdk_event_free (event);
g_object_unref (event);
return NULL;
}
else /* GDK_FILTER_TRANSLATE */
return event;
}
gdk_event_free (event);
g_object_unref (event);
event = NULL;
if (event_translator)
@@ -357,20 +357,20 @@ gdk_event_source_translate_event (GdkX11Display *x11_display,
}
if (event &&
(event->type == GDK_ENTER_NOTIFY ||
event->type == GDK_LEAVE_NOTIFY) &&
event->crossing.window != NULL)
(event->any.type == GDK_ENTER_NOTIFY ||
event->any.type == GDK_LEAVE_NOTIFY) &&
event->any.window != NULL)
{
/* Handle focusing (in the case where no window manager is running */
handle_focus_change (&event->crossing);
}
if (event &&
(event->type == GDK_TOUCH_BEGIN ||
event->type == GDK_TOUCH_END ||
event->type == GDK_MOTION_NOTIFY ||
event->type == GDK_ENTER_NOTIFY ||
event->type == GDK_LEAVE_NOTIFY))
(event->any.type == GDK_TOUCH_BEGIN ||
event->any.type == GDK_TOUCH_END ||
event->any.type == GDK_MOTION_NOTIFY ||
event->any.type == GDK_ENTER_NOTIFY ||
event->any.type == GDK_LEAVE_NOTIFY))
{
handle_touch_synthetic_crossing (event);
}
@@ -499,7 +499,7 @@ gdk_event_source_dispatch (GSource *source,
{
_gdk_event_emit (event);
gdk_event_free (event);
g_object_unref (event);
}
gdk_threads_leave ();
+1 -1
View File
@@ -4865,7 +4865,7 @@ gdk_x11_window_show_window_menu (GdkWindow *window,
double x_root, y_root;
XClientMessageEvent xclient = { 0 };
switch ((guint) event->type)
switch ((guint) event->any.type)
{
case GDK_BUTTON_PRESS:
case GDK_BUTTON_RELEASE:
+11 -10
View File
@@ -221,7 +221,7 @@ gtk_entry_icon_accessible_do_action (AtkAction *action,
GtkEntryIconAccessible *icon = (GtkEntryIconAccessible *)action;
GtkWidget *widget;
GtkEntry *gtk_entry;
GdkEvent event;
GdkEvent *event;
GdkRectangle icon_area;
widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (icon->entry));
@@ -241,16 +241,17 @@ gtk_entry_icon_accessible_do_action (AtkAction *action,
return FALSE;
gtk_entry_get_icon_area (gtk_entry, icon->pos, &icon_area);
memset (&event, 0, sizeof (event));
event.button.type = GDK_BUTTON_PRESS;
event.button.window = gtk_widget_get_window (widget);
event.button.button = 1;
event.button.send_event = TRUE;
event.button.time = GDK_CURRENT_TIME;
event.button.x = icon_area.x;
event.button.y = icon_area.y;
g_signal_emit_by_name (widget, "icon-press", 0, icon->pos, &event);
event = gdk_event_new (GDK_BUTTON_PRESS);
event->any.window = g_object_ref (gtk_widget_get_window (widget));
event->button.button = 1;
event->any.send_event = TRUE;
event->button.time = GDK_CURRENT_TIME;
event->button.x = icon_area.x;
event->button.y = icon_area.y;
g_signal_emit_by_name (widget, "icon-press", 0, icon->pos, event);
gdk_event_free (event);
return TRUE;
}
+2 -2
View File
@@ -323,13 +323,13 @@ touch_release_in_button (GtkButton *button)
if (gdk_event_get_event_type (event) != GDK_TOUCH_END)
{
gdk_event_free (event);
g_object_unref (event);
return FALSE;
}
gdk_event_get_coords (event, &x, &y);
gdk_event_free (event);
g_object_unref (event);
if (gtk_widget_contains (GTK_WIDGET (button), x, y))
return TRUE;
+2 -2
View File
@@ -1109,8 +1109,8 @@ gtk_drag_begin_internal (GtkWidget *widget,
*
* 3. During a timeout handler, if you want to start a drag after the mouse
* button is held down for some time. Try to save the last event that you got
* from the mouse, using gdk_event_copy(), and pass it to this function
* (remember to free the event with gdk_event_free() when you are done).
* from the mouse, using g_object_ref(), and pass it to this function
* (remember to free the event with g_object_unref() when you are done).
* If you can really not pass a real event, pass %NULL instead.
*
* Returns: (transfer none): the context for this drag
+5 -5
View File
@@ -1744,10 +1744,10 @@ gtk_entry_class_init (GtkEntryClass *class)
G_SIGNAL_RUN_LAST,
0,
NULL, NULL,
_gtk_marshal_VOID__ENUM_BOXED,
_gtk_marshal_VOID__ENUM_OBJECT,
G_TYPE_NONE, 2,
GTK_TYPE_ENTRY_ICON_POSITION,
GDK_TYPE_EVENT | G_SIGNAL_TYPE_STATIC_SCOPE);
GDK_TYPE_EVENT);
/**
* GtkEntry::icon-release:
@@ -1766,10 +1766,10 @@ gtk_entry_class_init (GtkEntryClass *class)
G_SIGNAL_RUN_LAST,
0,
NULL, NULL,
_gtk_marshal_VOID__ENUM_BOXED,
_gtk_marshal_VOID__ENUM_OBJECT,
G_TYPE_NONE, 2,
GTK_TYPE_ENTRY_ICON_POSITION,
GDK_TYPE_EVENT | G_SIGNAL_TYPE_STATIC_SCOPE);
GDK_TYPE_EVENT);
/**
* GtkEntry::preedit-changed:
@@ -8622,7 +8622,7 @@ gtk_entry_do_popup (GtkEntry *entry,
}
}
g_clear_pointer (&trigger_event, gdk_event_free);
g_clear_object (&trigger_event);
}
static gboolean
+1 -2
View File
@@ -373,8 +373,7 @@ gtk_event_controller_scroll_class_init (GtkEventControllerScrollClass *klass)
P_("Flags"),
GTK_TYPE_EVENT_CONTROLLER_SCROLL_FLAGS,
GTK_EVENT_CONTROLLER_SCROLL_NONE,
G_PARAM_READWRITE |
G_PARAM_CONSTRUCT_ONLY);
G_PARAM_READWRITE);
/**
* GtkEventControllerScroll::scroll-begin:
+3 -3
View File
@@ -529,9 +529,9 @@ _gtk_gesture_update_point (GtkGesture *gesture,
}
if (data->event)
gdk_event_free (data->event);
g_object_unref (data->event);
data->event = gdk_event_copy (event);
data->event = g_object_ref (event);
_update_touchpad_deltas (data);
_update_widget_coordinates (gesture, data);
@@ -912,7 +912,7 @@ free_point_data (gpointer data)
PointData *point = data;
if (point->event)
gdk_event_free (point->event);
g_object_unref (point->event);
g_free (point);
}
+1 -1
View File
@@ -1057,7 +1057,7 @@ no_sequence_matches (GtkIMContextSimple *context_simple,
gdk_event_set_keyval (tmp_event, priv->compose_buffer[len + i]);
gtk_im_context_filter_keypress (context, (GdkEventKey *)tmp_event);
gdk_event_free (tmp_event);
g_object_unref (tmp_event);
}
return gtk_im_context_filter_keypress (context, event);
+32 -32
View File
@@ -1207,7 +1207,7 @@ rewrite_event_for_window (GdkEvent *event,
{
event = gdk_event_copy (event);
switch ((guint) event->type)
switch ((guint) event->any.type)
{
case GDK_SCROLL:
rewrite_events_translate (event->any.window,
@@ -1278,7 +1278,7 @@ rewrite_event_for_grabs (GdkEvent *event)
GdkDisplay *display;
GdkDevice *device;
switch ((guint) event->type)
switch ((guint) event->any.type)
{
case GDK_SCROLL:
case GDK_BUTTON_PRESS:
@@ -1416,7 +1416,7 @@ synth_crossing (GtkWidget *widget,
event->crossing.detail = notify_type;
gtk_widget_event (widget, event);
gdk_event_free (event);
g_object_unref (event);
}
static GtkWidget *
@@ -1511,7 +1511,7 @@ gtk_synthesize_crossing_events (GtkWindow *toplevel,
static gboolean
is_pointing_event (GdkEvent *event)
{
switch ((guint) event->type)
switch ((guint) event->any.type)
{
case GDK_MOTION_NOTIFY:
case GDK_ENTER_NOTIFY:
@@ -1555,7 +1555,7 @@ handle_pointing_event (GdkEvent *event)
sequence = gdk_event_get_event_sequence (event);
switch ((guint) event->type)
switch ((guint) event->any.type)
{
case GDK_LEAVE_NOTIFY:
if (event->crossing.mode == GDK_CROSSING_GRAB ||
@@ -1565,7 +1565,7 @@ handle_pointing_event (GdkEvent *event)
case GDK_TOUCH_CANCEL:
old_target = update_pointer_focus_state (toplevel, event, NULL);
if (event->type == GDK_LEAVE_NOTIFY)
if (event->any.type == GDK_LEAVE_NOTIFY)
gtk_synthesize_crossing_events (toplevel, old_target, NULL,
event, event->crossing.mode);
break;
@@ -1581,7 +1581,7 @@ handle_pointing_event (GdkEvent *event)
target = GTK_WIDGET (toplevel);
old_target = update_pointer_focus_state (toplevel, event, target);
if (event->type == GDK_MOTION_NOTIFY || event->type == GDK_ENTER_NOTIFY)
if (event->any.type == GDK_MOTION_NOTIFY || event->any.type == GDK_ENTER_NOTIFY)
{
if (!gtk_window_lookup_pointer_focus_implicit_grab (toplevel, device,
sequence))
@@ -1593,7 +1593,7 @@ handle_pointing_event (GdkEvent *event)
gtk_window_maybe_update_cursor (toplevel, NULL, device);
}
if (event->type == GDK_TOUCH_BEGIN)
if (event->any.type == GDK_TOUCH_BEGIN)
gtk_window_set_pointer_focus_grab (toplevel, device, sequence, target);
/* Let it take the effective pointer focus anyway, as it may change due
@@ -1607,10 +1607,10 @@ handle_pointing_event (GdkEvent *event)
device,
sequence);
gtk_window_set_pointer_focus_grab (toplevel, device, sequence,
event->type == GDK_BUTTON_PRESS ?
event->any.type == GDK_BUTTON_PRESS ?
target : NULL);
if (event->type == GDK_BUTTON_RELEASE)
if (event->any.type == GDK_BUTTON_RELEASE)
{
old_target = target;
target = gtk_widget_pick (GTK_WIDGET (toplevel), x, y);
@@ -1699,7 +1699,7 @@ gtk_main_do_event (GdkEvent *event)
* There won't be a widget though, so we have to handle
* them specially
*/
if (event->type == GDK_PROPERTY_NOTIFY)
if (event->any.type == GDK_PROPERTY_NOTIFY)
_gtk_selection_incr_event (event->any.window,
&event->property);
@@ -1755,7 +1755,7 @@ gtk_main_do_event (GdkEvent *event)
* This is the key to implementing modality.
*/
if (!grab_widget ||
((gtk_widget_is_sensitive (event_widget) || event->type == GDK_SCROLL) &&
((gtk_widget_is_sensitive (event_widget) || event->any.type == GDK_SCROLL) &&
gtk_widget_is_ancestor (event_widget, grab_widget)))
grab_widget = event_widget;
@@ -1786,7 +1786,7 @@ gtk_main_do_event (GdkEvent *event)
* Drag events are also not redirected, since it isn't
* clear what the semantics of that would be.
*/
switch (event->type)
switch (event->any.type)
{
case GDK_NOTHING:
break;
@@ -1856,7 +1856,7 @@ gtk_main_do_event (GdkEvent *event)
gboolean mnemonics_visible;
GtkWidget *window;
mnemonics_visible = (event->type == GDK_KEY_PRESS);
mnemonics_visible = (event->any.type == GDK_KEY_PRESS);
window = gtk_widget_get_toplevel (grab_widget);
if (GTK_IS_WINDOW (window))
@@ -1908,15 +1908,15 @@ gtk_main_do_event (GdkEvent *event)
break;
}
if (event->type == GDK_ENTER_NOTIFY
|| event->type == GDK_LEAVE_NOTIFY
|| event->type == GDK_BUTTON_PRESS
|| event->type == GDK_KEY_PRESS
|| event->type == GDK_DRAG_ENTER
|| event->type == GDK_GRAB_BROKEN
|| event->type == GDK_MOTION_NOTIFY
|| event->type == GDK_TOUCH_UPDATE
|| event->type == GDK_SCROLL)
if (event->any.type == GDK_ENTER_NOTIFY
|| event->any.type == GDK_LEAVE_NOTIFY
|| event->any.type == GDK_BUTTON_PRESS
|| event->any.type == GDK_KEY_PRESS
|| event->any.type == GDK_DRAG_ENTER
|| event->any.type == GDK_GRAB_BROKEN
|| event->any.type == GDK_MOTION_NOTIFY
|| event->any.type == GDK_TOUCH_UPDATE
|| event->any.type == GDK_SCROLL)
{
_gtk_tooltip_handle_event (event);
}
@@ -1927,7 +1927,7 @@ gtk_main_do_event (GdkEvent *event)
g_list_free_1 (tmp_list);
if (rewritten_event)
gdk_event_free (rewritten_event);
g_object_unref (rewritten_event);
}
/**
@@ -2339,21 +2339,21 @@ gtk_device_grab_remove (GtkWidget *widget,
/**
* gtk_get_current_event:
*
* Obtains a copy of the event currently being processed by GTK+.
* Obtains a reference of the event currently being processed by GTK+.
*
* For example, if you are handling a #GtkButton::clicked signal,
* the current event will be the #GdkEventButton that triggered
* the ::clicked signal.
*
* Returns: (transfer full) (nullable): a copy of the current event, or
* Returns: (transfer full) (nullable): a reference of the current event, or
* %NULL if there is no current event. The returned event must be
* freed with gdk_event_free().
* freed with g_object_unref().
*/
GdkEvent*
gtk_get_current_event (void)
{
if (current_events)
return gdk_event_copy (current_events->data);
return g_object_ref (current_events->data);
else
return NULL;
}
@@ -2437,7 +2437,7 @@ gtk_get_event_widget (const GdkEvent *event)
widget = NULL;
if (event && event->any.window &&
(event->type == GDK_DESTROY || !gdk_window_is_destroyed (event->any.window)))
(event->any.type == GDK_DESTROY || !gdk_window_is_destroyed (event->any.window)))
{
gdk_window_get_user_data (event->any.window, &widget_ptr);
widget = widget_ptr;
@@ -2514,7 +2514,7 @@ propagate_event_up (GtkWidget *widget,
* event
*/
if (!gtk_widget_is_sensitive (widget))
handled_event = event->type != GDK_SCROLL;
handled_event = event->any.type != GDK_SCROLL;
else
handled_event = gtk_widget_event (widget, event);
@@ -2564,7 +2564,7 @@ propagate_event_down (GtkWidget *widget,
/* stop propagating on SCROLL, but don't handle the event, so it
* can propagate up again and reach its handling widget
*/
if (event->type == GDK_SCROLL)
if (event->any.type == GDK_SCROLL)
break;
else
handled_event = TRUE;
@@ -2588,7 +2588,7 @@ propagate_event (GtkWidget *widget,
propagate_func = captured ? _gtk_widget_captured_event : gtk_widget_event;
if (event->type == GDK_KEY_PRESS || event->type == GDK_KEY_RELEASE)
if (event->any.type == GDK_KEY_PRESS || event->any.type == GDK_KEY_RELEASE)
{
/* Only send key events within Window widgets to the Window
* The Window widget will in turn pass the
+2 -2
View File
@@ -32,7 +32,7 @@ BOOLEAN:OBJECT,UINT,FLAGS
BOOLEAN:OBJECT,INT,INT,UINT
BOOLEAN:OBJECT,STRING,STRING,BOXED
BOOLEAN:OBJECT,BOXED
BOOLEAN:OBJECT,BOXED,BOXED
BOOLEAN:OBJECT,OBJECT,BOXED
BOOLEAN:OBJECT,OBJECT,OBJECT
BOOLEAN:OBJECT,STRING,STRING
BOOLEAN:OBJECT,ENUM
@@ -66,7 +66,7 @@ VOID:ENUM,FLOAT,BOOLEAN
VOID:ENUM,INT
VOID:ENUM,INT,BOOLEAN
VOID:ENUM,INT,INT
VOID:ENUM,BOXED
VOID:ENUM,OBJECT
VOID:ENUM,STRING
VOID:INT,BOOLEAN
VOID:INT,INT
+4 -4
View File
@@ -1692,7 +1692,7 @@ gtk_menu_popup_internal (GtkMenu *menu,
menu_shell->priv->ignore_enter = TRUE;
source_device = gdk_event_get_source_device (current_event);
gdk_event_free (current_event);
g_object_unref (current_event);
}
else
menu_shell->priv->ignore_enter = TRUE;
@@ -1990,7 +1990,7 @@ gtk_menu_popup_at_rect (GtkMenu *menu,
button,
activate_time);
g_clear_pointer (&current_event, gdk_event_free);
g_clear_object (&current_event);
}
/**
@@ -2083,7 +2083,7 @@ gtk_menu_popup_at_widget (GtkMenu *menu,
button,
activate_time);
g_clear_pointer (&current_event, gdk_event_free);
g_clear_object (&current_event);
}
/**
@@ -2150,7 +2150,7 @@ gtk_menu_popup_at_pointer (GtkMenu *menu,
GDK_GRAVITY_NORTH_WEST,
trigger_event);
g_clear_pointer (&current_event, gdk_event_free);
g_clear_object (&current_event);
}
static void
+1 -1
View File
@@ -423,7 +423,7 @@ gtk_menu_button_toggled (GtkToggleButton *button)
gtk_menu_shell_select_first (GTK_MENU_SHELL (priv->menu), FALSE);
if (event)
gdk_event_free (event);
g_object_unref (event);
}
}
else if (priv->popover)
+2 -2
View File
@@ -1178,7 +1178,7 @@ gtk_real_menu_item_select (GtkMenuItem *menu_item)
if (current_event)
{
source_device = gdk_event_get_source_device (current_event);
gdk_event_free (current_event);
g_object_unref (current_event);
}
if ((!source_device ||
@@ -1516,7 +1516,7 @@ gtk_menu_item_popup_timeout (gpointer data)
priv->timer = 0;
g_clear_pointer (&info->trigger_event, gdk_event_free);
g_clear_object (&info->trigger_event);
g_slice_free (PopupInfo, info);
return FALSE;
+1 -1
View File
@@ -472,7 +472,7 @@ gtk_selection_owner_set_for_display (GdkDisplay *display,
gdk_event_set_selection (event, gtk_widget_get_window (old_owner), selection, time);
gtk_widget_event (old_owner, event);
gdk_event_free (event);
g_object_unref (event);
}
return TRUE;
}
+2 -2
View File
@@ -8379,7 +8379,7 @@ gtk_text_view_value_changed (GtkAdjustment *adjustment,
if (gdk_event_get_event_type (current_event) == GDK_SCROLL)
move_mark_to_pointer_and_scroll (text_view, "insert");
gdk_event_free (current_event);
g_object_unref (current_event);
}
}
@@ -8860,7 +8860,7 @@ gtk_text_view_do_popup (GtkTextView *text_view,
}
}
g_clear_pointer (&trigger_event, gdk_event_free);
g_clear_object (&trigger_event);
}
static gboolean
+6 -6
View File
@@ -5731,8 +5731,8 @@ gtk_tree_view_key_press (GtkWidget *widget,
gulong popup_menu_id;
new_event = gdk_event_copy ((GdkEvent *) event);
g_object_unref (((GdkEventKey *) new_event)->window);
((GdkEventKey *) new_event)->window =
g_object_unref (((GdkEventKey *) new_event)->any.window);
((GdkEventKey *) new_event)->any.window =
g_object_ref (gtk_widget_get_window (search_window));
gtk_widget_realize (search_window);
@@ -5743,7 +5743,7 @@ gtk_tree_view_key_press (GtkWidget *widget,
/* Because we keep the focus on the treeview, we need to forward the
* key events to the entry, when it is visible. */
gtk_widget_event (search_window, new_event);
gdk_event_free (new_event);
g_object_unref (new_event);
g_signal_handler_disconnect (tree_view->priv->search_entry,
popup_menu_id);
@@ -10645,14 +10645,14 @@ send_focus_change (GtkWidget *widget,
fevent = gdk_event_new (GDK_FOCUS_CHANGE);
fevent->focus_change.type = GDK_FOCUS_CHANGE;
fevent->focus_change.window = g_object_ref (window);
fevent->any.type = GDK_FOCUS_CHANGE;
fevent->any.window = g_object_ref (window);
fevent->focus_change.in = in;
gdk_event_set_device (fevent, device);
gtk_widget_send_focus_change (widget, fevent);
gdk_event_free (fevent);
g_object_unref (fevent);
}
g_list_free (devices);
+105 -105
View File
@@ -1947,11 +1947,11 @@ gtk_widget_class_init (GtkWidgetClass *klass)
G_SIGNAL_RUN_LAST | G_SIGNAL_DEPRECATED,
G_STRUCT_OFFSET (GtkWidgetClass, event),
_gtk_boolean_handled_accumulator, NULL,
_gtk_marshal_BOOLEAN__BOXED,
_gtk_marshal_BOOLEAN__OBJECT,
G_TYPE_BOOLEAN, 1,
GDK_TYPE_EVENT | G_SIGNAL_TYPE_STATIC_SCOPE);
GDK_TYPE_EVENT);
g_signal_set_va_marshaller (widget_signals[EVENT], G_TYPE_FROM_CLASS (klass),
_gtk_marshal_BOOLEAN__BOXEDv);
_gtk_marshal_BOOLEAN__OBJECTv);
/**
* GtkWidget::event-after:
@@ -1971,7 +1971,7 @@ gtk_widget_class_init (GtkWidgetClass *klass)
NULL, NULL,
NULL,
G_TYPE_NONE, 1,
GDK_TYPE_EVENT | G_SIGNAL_TYPE_STATIC_SCOPE);
GDK_TYPE_EVENT);
/**
* GtkWidget::button-press-event:
@@ -1996,11 +1996,11 @@ gtk_widget_class_init (GtkWidgetClass *klass)
G_SIGNAL_RUN_LAST | G_SIGNAL_DEPRECATED,
G_STRUCT_OFFSET (GtkWidgetClass, button_press_event),
_gtk_boolean_handled_accumulator, NULL,
_gtk_marshal_BOOLEAN__BOXED,
_gtk_marshal_BOOLEAN__OBJECT,
G_TYPE_BOOLEAN, 1,
GDK_TYPE_EVENT | G_SIGNAL_TYPE_STATIC_SCOPE);
GDK_TYPE_EVENT);
g_signal_set_va_marshaller (widget_signals[BUTTON_PRESS_EVENT], G_TYPE_FROM_CLASS (klass),
_gtk_marshal_BOOLEAN__BOXEDv);
_gtk_marshal_BOOLEAN__OBJECTv);
/**
* GtkWidget::button-release-event:
@@ -2025,11 +2025,11 @@ gtk_widget_class_init (GtkWidgetClass *klass)
G_SIGNAL_RUN_LAST | G_SIGNAL_DEPRECATED,
G_STRUCT_OFFSET (GtkWidgetClass, button_release_event),
_gtk_boolean_handled_accumulator, NULL,
_gtk_marshal_BOOLEAN__BOXED,
_gtk_marshal_BOOLEAN__OBJECT,
G_TYPE_BOOLEAN, 1,
GDK_TYPE_EVENT | G_SIGNAL_TYPE_STATIC_SCOPE);
GDK_TYPE_EVENT);
g_signal_set_va_marshaller (widget_signals[BUTTON_RELEASE_EVENT], G_TYPE_FROM_CLASS (klass),
_gtk_marshal_BOOLEAN__BOXEDv);
_gtk_marshal_BOOLEAN__OBJECTv);
widget_signals[TOUCH_EVENT] =
g_signal_new (I_("touch-event"),
@@ -2037,11 +2037,11 @@ gtk_widget_class_init (GtkWidgetClass *klass)
G_SIGNAL_RUN_LAST | G_SIGNAL_DEPRECATED,
G_STRUCT_OFFSET (GtkWidgetClass, touch_event),
_gtk_boolean_handled_accumulator, NULL,
_gtk_marshal_BOOLEAN__BOXED,
_gtk_marshal_BOOLEAN__OBJECT,
G_TYPE_BOOLEAN, 1,
GDK_TYPE_EVENT | G_SIGNAL_TYPE_STATIC_SCOPE);
GDK_TYPE_EVENT);
g_signal_set_va_marshaller (widget_signals[TOUCH_EVENT], G_TYPE_FROM_CLASS (klass),
_gtk_marshal_BOOLEAN__BOXEDv);
_gtk_marshal_BOOLEAN__OBJECTv);
/**
* GtkWidget::scroll-event:
@@ -2067,11 +2067,11 @@ gtk_widget_class_init (GtkWidgetClass *klass)
G_SIGNAL_RUN_LAST | G_SIGNAL_DEPRECATED,
G_STRUCT_OFFSET (GtkWidgetClass, scroll_event),
_gtk_boolean_handled_accumulator, NULL,
_gtk_marshal_BOOLEAN__BOXED,
_gtk_marshal_BOOLEAN__OBJECT,
G_TYPE_BOOLEAN, 1,
GDK_TYPE_EVENT | G_SIGNAL_TYPE_STATIC_SCOPE);
GDK_TYPE_EVENT);
g_signal_set_va_marshaller (widget_signals[SCROLL_EVENT], G_TYPE_FROM_CLASS (klass),
_gtk_marshal_BOOLEAN__BOXEDv);
_gtk_marshal_BOOLEAN__OBJECTv);
/**
* GtkWidget::motion-notify-event:
@@ -2096,11 +2096,11 @@ gtk_widget_class_init (GtkWidgetClass *klass)
G_SIGNAL_RUN_LAST | G_SIGNAL_DEPRECATED,
G_STRUCT_OFFSET (GtkWidgetClass, motion_notify_event),
_gtk_boolean_handled_accumulator, NULL,
_gtk_marshal_BOOLEAN__BOXED,
_gtk_marshal_BOOLEAN__OBJECT,
G_TYPE_BOOLEAN, 1,
GDK_TYPE_EVENT | G_SIGNAL_TYPE_STATIC_SCOPE);
GDK_TYPE_EVENT);
g_signal_set_va_marshaller (widget_signals[MOTION_NOTIFY_EVENT], G_TYPE_FROM_CLASS (klass),
_gtk_marshal_BOOLEAN__BOXEDv);
_gtk_marshal_BOOLEAN__OBJECTv);
/**
* GtkWidget::delete-event:
@@ -2122,11 +2122,11 @@ gtk_widget_class_init (GtkWidgetClass *klass)
G_SIGNAL_RUN_LAST,
G_STRUCT_OFFSET (GtkWidgetClass, delete_event),
_gtk_boolean_handled_accumulator, NULL,
_gtk_marshal_BOOLEAN__BOXED,
_gtk_marshal_BOOLEAN__OBJECT,
G_TYPE_BOOLEAN, 1,
GDK_TYPE_EVENT | G_SIGNAL_TYPE_STATIC_SCOPE);
GDK_TYPE_EVENT);
g_signal_set_va_marshaller (widget_signals[DELETE_EVENT], G_TYPE_FROM_CLASS (klass),
_gtk_marshal_BOOLEAN__BOXEDv);
_gtk_marshal_BOOLEAN__OBJECTv);
/**
* GtkWidget::destroy-event:
@@ -2151,11 +2151,11 @@ gtk_widget_class_init (GtkWidgetClass *klass)
G_SIGNAL_RUN_LAST,
G_STRUCT_OFFSET (GtkWidgetClass, destroy_event),
_gtk_boolean_handled_accumulator, NULL,
_gtk_marshal_BOOLEAN__BOXED,
_gtk_marshal_BOOLEAN__OBJECT,
G_TYPE_BOOLEAN, 1,
GDK_TYPE_EVENT | G_SIGNAL_TYPE_STATIC_SCOPE);
GDK_TYPE_EVENT);
g_signal_set_va_marshaller (widget_signals[DESTROY_EVENT], G_TYPE_FROM_CLASS (klass),
_gtk_marshal_BOOLEAN__BOXEDv);
_gtk_marshal_BOOLEAN__OBJECTv);
/**
* GtkWidget::key-press-event:
@@ -2179,11 +2179,11 @@ gtk_widget_class_init (GtkWidgetClass *klass)
G_SIGNAL_RUN_LAST,
G_STRUCT_OFFSET (GtkWidgetClass, key_press_event),
_gtk_boolean_handled_accumulator, NULL,
_gtk_marshal_BOOLEAN__BOXED,
_gtk_marshal_BOOLEAN__OBJECT,
G_TYPE_BOOLEAN, 1,
GDK_TYPE_EVENT | G_SIGNAL_TYPE_STATIC_SCOPE);
GDK_TYPE_EVENT);
g_signal_set_va_marshaller (widget_signals[KEY_PRESS_EVENT], G_TYPE_FROM_CLASS (klass),
_gtk_marshal_BOOLEAN__BOXEDv);
_gtk_marshal_BOOLEAN__OBJECTv);
/**
* GtkWidget::key-release-event:
@@ -2206,11 +2206,11 @@ gtk_widget_class_init (GtkWidgetClass *klass)
G_SIGNAL_RUN_LAST,
G_STRUCT_OFFSET (GtkWidgetClass, key_release_event),
_gtk_boolean_handled_accumulator, NULL,
_gtk_marshal_BOOLEAN__BOXED,
_gtk_marshal_BOOLEAN__OBJECT,
G_TYPE_BOOLEAN, 1,
GDK_TYPE_EVENT | G_SIGNAL_TYPE_STATIC_SCOPE);
GDK_TYPE_EVENT);
g_signal_set_va_marshaller (widget_signals[KEY_RELEASE_EVENT], G_TYPE_FROM_CLASS (klass),
_gtk_marshal_BOOLEAN__BOXEDv);
_gtk_marshal_BOOLEAN__OBJECTv);
/**
* GtkWidget::enter-notify-event:
@@ -2235,11 +2235,11 @@ gtk_widget_class_init (GtkWidgetClass *klass)
G_SIGNAL_RUN_LAST | G_SIGNAL_DEPRECATED,
G_STRUCT_OFFSET (GtkWidgetClass, enter_notify_event),
_gtk_boolean_handled_accumulator, NULL,
_gtk_marshal_BOOLEAN__BOXED,
_gtk_marshal_BOOLEAN__OBJECT,
G_TYPE_BOOLEAN, 1,
GDK_TYPE_EVENT | G_SIGNAL_TYPE_STATIC_SCOPE);
GDK_TYPE_EVENT);
g_signal_set_va_marshaller (widget_signals[ENTER_NOTIFY_EVENT], G_TYPE_FROM_CLASS (klass),
_gtk_marshal_BOOLEAN__BOXEDv);
_gtk_marshal_BOOLEAN__OBJECTv);
/**
* GtkWidget::leave-notify-event:
@@ -2264,11 +2264,11 @@ gtk_widget_class_init (GtkWidgetClass *klass)
G_SIGNAL_RUN_LAST | G_SIGNAL_DEPRECATED,
G_STRUCT_OFFSET (GtkWidgetClass, leave_notify_event),
_gtk_boolean_handled_accumulator, NULL,
_gtk_marshal_BOOLEAN__BOXED,
_gtk_marshal_BOOLEAN__OBJECT,
G_TYPE_BOOLEAN, 1,
GDK_TYPE_EVENT | G_SIGNAL_TYPE_STATIC_SCOPE);
GDK_TYPE_EVENT);
g_signal_set_va_marshaller (widget_signals[LEAVE_NOTIFY_EVENT], G_TYPE_FROM_CLASS (klass),
_gtk_marshal_BOOLEAN__BOXEDv);
_gtk_marshal_BOOLEAN__OBJECTv);
/**
* GtkWidget::configure-event:
@@ -2292,11 +2292,11 @@ gtk_widget_class_init (GtkWidgetClass *klass)
G_SIGNAL_RUN_LAST,
G_STRUCT_OFFSET (GtkWidgetClass, configure_event),
_gtk_boolean_handled_accumulator, NULL,
_gtk_marshal_BOOLEAN__BOXED,
_gtk_marshal_BOOLEAN__OBJECT,
G_TYPE_BOOLEAN, 1,
GDK_TYPE_EVENT | G_SIGNAL_TYPE_STATIC_SCOPE);
GDK_TYPE_EVENT);
g_signal_set_va_marshaller (widget_signals[CONFIGURE_EVENT], G_TYPE_FROM_CLASS (klass),
_gtk_marshal_BOOLEAN__BOXEDv);
_gtk_marshal_BOOLEAN__OBJECTv);
/**
* GtkWidget::focus-in-event:
@@ -2319,11 +2319,11 @@ gtk_widget_class_init (GtkWidgetClass *klass)
G_SIGNAL_RUN_LAST,
G_STRUCT_OFFSET (GtkWidgetClass, focus_in_event),
_gtk_boolean_handled_accumulator, NULL,
_gtk_marshal_BOOLEAN__BOXED,
_gtk_marshal_BOOLEAN__OBJECT,
G_TYPE_BOOLEAN, 1,
GDK_TYPE_EVENT | G_SIGNAL_TYPE_STATIC_SCOPE);
GDK_TYPE_EVENT);
g_signal_set_va_marshaller (widget_signals[FOCUS_IN_EVENT], G_TYPE_FROM_CLASS (klass),
_gtk_marshal_BOOLEAN__BOXEDv);
_gtk_marshal_BOOLEAN__OBJECTv);
/**
* GtkWidget::focus-out-event:
@@ -2346,11 +2346,11 @@ gtk_widget_class_init (GtkWidgetClass *klass)
G_SIGNAL_RUN_LAST,
G_STRUCT_OFFSET (GtkWidgetClass, focus_out_event),
_gtk_boolean_handled_accumulator, NULL,
_gtk_marshal_BOOLEAN__BOXED,
_gtk_marshal_BOOLEAN__OBJECT,
G_TYPE_BOOLEAN, 1,
GDK_TYPE_EVENT | G_SIGNAL_TYPE_STATIC_SCOPE);
GDK_TYPE_EVENT);
g_signal_set_va_marshaller (widget_signals[FOCUS_OUT_EVENT], G_TYPE_FROM_CLASS (klass),
_gtk_marshal_BOOLEAN__BOXEDv);
_gtk_marshal_BOOLEAN__OBJECTv);
/**
* GtkWidget::map-event:
@@ -2373,11 +2373,11 @@ gtk_widget_class_init (GtkWidgetClass *klass)
G_SIGNAL_RUN_LAST,
G_STRUCT_OFFSET (GtkWidgetClass, map_event),
_gtk_boolean_handled_accumulator, NULL,
_gtk_marshal_BOOLEAN__BOXED,
_gtk_marshal_BOOLEAN__OBJECT,
G_TYPE_BOOLEAN, 1,
GDK_TYPE_EVENT | G_SIGNAL_TYPE_STATIC_SCOPE);
GDK_TYPE_EVENT);
g_signal_set_va_marshaller (widget_signals[MAP_EVENT], G_TYPE_FROM_CLASS (klass),
_gtk_marshal_BOOLEAN__BOXEDv);
_gtk_marshal_BOOLEAN__OBJECTv);
/**
* GtkWidget::unmap-event:
@@ -2400,11 +2400,11 @@ gtk_widget_class_init (GtkWidgetClass *klass)
G_SIGNAL_RUN_LAST,
G_STRUCT_OFFSET (GtkWidgetClass, unmap_event),
_gtk_boolean_handled_accumulator, NULL,
_gtk_marshal_BOOLEAN__BOXED,
_gtk_marshal_BOOLEAN__OBJECT,
G_TYPE_BOOLEAN, 1,
GDK_TYPE_EVENT | G_SIGNAL_TYPE_STATIC_SCOPE);
GDK_TYPE_EVENT);
g_signal_set_va_marshaller (widget_signals[UNMAP_EVENT], G_TYPE_FROM_CLASS (klass),
_gtk_marshal_BOOLEAN__BOXEDv);
_gtk_marshal_BOOLEAN__OBJECTv);
/**
* GtkWidget::property-notify-event:
@@ -2427,11 +2427,11 @@ gtk_widget_class_init (GtkWidgetClass *klass)
G_SIGNAL_RUN_LAST | G_SIGNAL_DEPRECATED,
G_STRUCT_OFFSET (GtkWidgetClass, property_notify_event),
_gtk_boolean_handled_accumulator, NULL,
_gtk_marshal_BOOLEAN__BOXED,
_gtk_marshal_BOOLEAN__OBJECT,
G_TYPE_BOOLEAN, 1,
GDK_TYPE_EVENT | G_SIGNAL_TYPE_STATIC_SCOPE);
GDK_TYPE_EVENT);
g_signal_set_va_marshaller (widget_signals[PROPERTY_NOTIFY_EVENT], G_TYPE_FROM_CLASS (klass),
_gtk_marshal_BOOLEAN__BOXEDv);
_gtk_marshal_BOOLEAN__OBJECTv);
/**
* GtkWidget::selection-clear-event:
@@ -2451,11 +2451,11 @@ gtk_widget_class_init (GtkWidgetClass *klass)
G_SIGNAL_RUN_LAST | G_SIGNAL_DEPRECATED,
G_STRUCT_OFFSET (GtkWidgetClass, selection_clear_event),
_gtk_boolean_handled_accumulator, NULL,
_gtk_marshal_BOOLEAN__BOXED,
_gtk_marshal_BOOLEAN__OBJECT,
G_TYPE_BOOLEAN, 1,
GDK_TYPE_EVENT | G_SIGNAL_TYPE_STATIC_SCOPE);
GDK_TYPE_EVENT);
g_signal_set_va_marshaller (widget_signals[SELECTION_CLEAR_EVENT], G_TYPE_FROM_CLASS (klass),
_gtk_marshal_BOOLEAN__BOXEDv);
_gtk_marshal_BOOLEAN__OBJECTv);
/**
* GtkWidget::selection-request-event:
@@ -2476,11 +2476,11 @@ gtk_widget_class_init (GtkWidgetClass *klass)
G_SIGNAL_RUN_LAST | G_SIGNAL_DEPRECATED,
G_STRUCT_OFFSET (GtkWidgetClass, selection_request_event),
_gtk_boolean_handled_accumulator, NULL,
_gtk_marshal_BOOLEAN__BOXED,
_gtk_marshal_BOOLEAN__OBJECT,
G_TYPE_BOOLEAN, 1,
GDK_TYPE_EVENT | G_SIGNAL_TYPE_STATIC_SCOPE);
GDK_TYPE_EVENT);
g_signal_set_va_marshaller (widget_signals[SELECTION_REQUEST_EVENT], G_TYPE_FROM_CLASS (klass),
_gtk_marshal_BOOLEAN__BOXEDv);
_gtk_marshal_BOOLEAN__OBJECTv);
/**
* GtkWidget::selection-notify-event:
@@ -2495,11 +2495,11 @@ gtk_widget_class_init (GtkWidgetClass *klass)
G_SIGNAL_RUN_LAST | G_SIGNAL_DEPRECATED,
G_STRUCT_OFFSET (GtkWidgetClass, selection_notify_event),
_gtk_boolean_handled_accumulator, NULL,
_gtk_marshal_BOOLEAN__BOXED,
_gtk_marshal_BOOLEAN__OBJECT,
G_TYPE_BOOLEAN, 1,
GDK_TYPE_EVENT | G_SIGNAL_TYPE_STATIC_SCOPE);
GDK_TYPE_EVENT);
g_signal_set_va_marshaller (widget_signals[SELECTION_NOTIFY_EVENT], G_TYPE_FROM_CLASS (klass),
_gtk_marshal_BOOLEAN__BOXEDv);
_gtk_marshal_BOOLEAN__OBJECTv);
/**
* GtkWidget::selection-received:
@@ -2556,11 +2556,11 @@ gtk_widget_class_init (GtkWidgetClass *klass)
G_SIGNAL_RUN_LAST | G_SIGNAL_DEPRECATED,
G_STRUCT_OFFSET (GtkWidgetClass, proximity_in_event),
_gtk_boolean_handled_accumulator, NULL,
_gtk_marshal_BOOLEAN__BOXED,
_gtk_marshal_BOOLEAN__OBJECT,
G_TYPE_BOOLEAN, 1,
GDK_TYPE_EVENT | G_SIGNAL_TYPE_STATIC_SCOPE);
GDK_TYPE_EVENT);
g_signal_set_va_marshaller (widget_signals[PROXIMITY_IN_EVENT], G_TYPE_FROM_CLASS (klass),
_gtk_marshal_BOOLEAN__BOXEDv);
_gtk_marshal_BOOLEAN__OBJECTv);
/**
* GtkWidget::proximity-out-event:
@@ -2582,11 +2582,11 @@ gtk_widget_class_init (GtkWidgetClass *klass)
G_SIGNAL_RUN_LAST | G_SIGNAL_DEPRECATED,
G_STRUCT_OFFSET (GtkWidgetClass, proximity_out_event),
_gtk_boolean_handled_accumulator, NULL,
_gtk_marshal_BOOLEAN__BOXED,
_gtk_marshal_BOOLEAN__OBJECT,
G_TYPE_BOOLEAN, 1,
GDK_TYPE_EVENT | G_SIGNAL_TYPE_STATIC_SCOPE);
GDK_TYPE_EVENT);
g_signal_set_va_marshaller (widget_signals[PROXIMITY_OUT_EVENT], G_TYPE_FROM_CLASS (klass),
_gtk_marshal_BOOLEAN__BOXEDv);
_gtk_marshal_BOOLEAN__OBJECTv);
/**
* GtkWidget::drag-leave:
@@ -2979,11 +2979,11 @@ gtk_widget_class_init (GtkWidgetClass *klass)
G_SIGNAL_RUN_LAST,
G_STRUCT_OFFSET (GtkWidgetClass, window_state_event),
_gtk_boolean_handled_accumulator, NULL,
_gtk_marshal_BOOLEAN__BOXED,
_gtk_marshal_BOOLEAN__OBJECT,
G_TYPE_BOOLEAN, 1,
GDK_TYPE_EVENT | G_SIGNAL_TYPE_STATIC_SCOPE);
GDK_TYPE_EVENT);
g_signal_set_va_marshaller (widget_signals[WINDOW_STATE_EVENT], G_TYPE_FROM_CLASS (klass),
_gtk_marshal_BOOLEAN__BOXEDv);
_gtk_marshal_BOOLEAN__OBJECTv);
/**
* GtkWidget::grab-broken-event:
@@ -3008,11 +3008,11 @@ gtk_widget_class_init (GtkWidgetClass *klass)
G_SIGNAL_RUN_LAST,
G_STRUCT_OFFSET (GtkWidgetClass, grab_broken_event),
_gtk_boolean_handled_accumulator, NULL,
_gtk_marshal_BOOLEAN__BOXED,
_gtk_marshal_BOOLEAN__OBJECT,
G_TYPE_BOOLEAN, 1,
GDK_TYPE_EVENT | G_SIGNAL_TYPE_STATIC_SCOPE);
GDK_TYPE_EVENT);
g_signal_set_va_marshaller (widget_signals[GRAB_BROKEN_EVENT], G_TYPE_FROM_CLASS (klass),
_gtk_marshal_BOOLEAN__BOXEDv);
_gtk_marshal_BOOLEAN__OBJECTv);
/**
* GtkWidget::query-tooltip:
@@ -3464,23 +3464,23 @@ _gtk_widget_emulate_press (GtkWidget *widget,
if (event_widget == widget)
return;
if (event->type == GDK_TOUCH_BEGIN ||
event->type == GDK_TOUCH_UPDATE ||
event->type == GDK_TOUCH_END)
if (event->any.type == GDK_TOUCH_BEGIN ||
event->any.type == GDK_TOUCH_UPDATE ||
event->any.type == GDK_TOUCH_END)
{
press = gdk_event_copy (event);
press->type = GDK_TOUCH_BEGIN;
press->any.type = GDK_TOUCH_BEGIN;
}
else if (event->type == GDK_BUTTON_PRESS ||
event->type == GDK_BUTTON_RELEASE)
else if (event->any.type == GDK_BUTTON_PRESS ||
event->any.type == GDK_BUTTON_RELEASE)
{
press = gdk_event_copy (event);
press->type = GDK_BUTTON_PRESS;
press->any.type = GDK_BUTTON_PRESS;
}
else if (event->type == GDK_MOTION_NOTIFY)
else if (event->any.type == GDK_MOTION_NOTIFY)
{
press = gdk_event_new (GDK_BUTTON_PRESS);
press->button.window = g_object_ref (event->motion.window);
press->any.window = g_object_ref (event->any.window);
press->button.time = event->motion.time;
press->button.x = event->motion.x;
press->button.y = event->motion.y;
@@ -3490,7 +3490,7 @@ _gtk_widget_emulate_press (GtkWidget *widget,
press->button.axes = g_memdup (event->motion.axes,
sizeof (gdouble) *
gdk_device_get_n_axes (event->motion.device));
gdk_device_get_n_axes (event->any.device));
if (event->motion.state & GDK_BUTTON3_MASK)
press->button.button = 3;
@@ -3522,7 +3522,7 @@ _gtk_widget_emulate_press (GtkWidget *widget,
/* Perform propagation state starting from the next child in the chain */
gtk_propagate_event_internal (event_widget, press, next_child);
gdk_event_free (press);
g_object_unref (press);
}
static const GdkEvent *
@@ -3567,9 +3567,9 @@ _gtk_widget_get_emulating_sequence (GtkWidget *widget,
last_event = _gtk_widget_get_last_event (widget, sequence);
if (last_event &&
(last_event->type == GDK_TOUCH_BEGIN ||
last_event->type == GDK_TOUCH_UPDATE ||
last_event->type == GDK_TOUCH_END) &&
(last_event->any.type == GDK_TOUCH_BEGIN ||
last_event->any.type == GDK_TOUCH_UPDATE ||
last_event->any.type == GDK_TOUCH_END) &&
last_event->touch.emulating_pointer)
return TRUE;
}
@@ -6431,7 +6431,7 @@ gtk_widget_real_grab_broken_event (GtkWidget *widget,
}
#define WIDGET_REALIZED_FOR_EVENT(widget, event) \
(event->type == GDK_FOCUS_CHANGE || _gtk_widget_get_realized(widget))
(event->any.type == GDK_FOCUS_CHANGE || _gtk_widget_get_realized(widget))
/**
* gtk_widget_event:
@@ -6457,7 +6457,7 @@ gtk_widget_event (GtkWidget *widget,
g_return_val_if_fail (GTK_IS_WIDGET (widget), TRUE);
g_return_val_if_fail (WIDGET_REALIZED_FOR_EVENT (widget, event), TRUE);
if (event->type == GDK_EXPOSE)
if (event->any.type == GDK_EXPOSE)
{
g_warning ("Events of type GDK_EXPOSE cannot be synthesized. To get "
"the same effect, call gdk_window_invalidate_rect/region(), "
@@ -6557,7 +6557,7 @@ _gtk_widget_captured_event (GtkWidget *widget,
g_return_val_if_fail (GTK_IS_WIDGET (widget), TRUE);
g_return_val_if_fail (WIDGET_REALIZED_FOR_EVENT (widget, event), TRUE);
if (event->type == GDK_EXPOSE)
if (event->any.type == GDK_EXPOSE)
{
g_warning ("Events of type GDK_EXPOSE cannot be synthesized. To get "
"the same effect, call gdk_window_invalidate_rect/region(), "
@@ -6585,7 +6585,7 @@ _gtk_widget_captured_event (GtkWidget *widget,
g_object_unref (widget);
out:
gdk_event_free (event_copy);
g_object_unref (event_copy);
return return_val;
}
@@ -6598,7 +6598,7 @@ event_window_is_still_viewable (const GdkEvent *event)
* at the last moment, since the event may have been queued
* up behind other events, held over a recursive main loop, etc.
*/
switch ((guint) event->type)
switch ((guint) event->any.type)
{
case GDK_EXPOSE:
case GDK_MOTION_NOTIFY:
@@ -6665,7 +6665,7 @@ gtk_widget_event_internal (GtkWidget *widget,
return TRUE;
/* Non input events get handled right away */
switch ((guint) event->type)
switch ((guint) event->any.type)
{
case GDK_EXPOSE:
case GDK_NOTHING:
@@ -6692,7 +6692,7 @@ gtk_widget_event_internal (GtkWidget *widget,
return_val |= _gtk_widget_run_controllers (widget, event_copy, GTK_PHASE_TARGET);
/* XXX: Tooltips should be handled through captured events in the toplevel */
if (event_copy->type == GDK_FOCUS_CHANGE)
if (event_copy->any.type == GDK_FOCUS_CHANGE)
{
if (event_copy->focus_change.in)
_gtk_tooltip_focus_in (widget);
@@ -6702,7 +6702,7 @@ gtk_widget_event_internal (GtkWidget *widget,
if (return_val == FALSE)
return_val |= _gtk_widget_run_controllers (widget, event_copy, GTK_PHASE_BUBBLE);
gdk_event_free (event_copy);
g_object_unref (event_copy);
return return_val;
}
@@ -6721,7 +6721,7 @@ gtk_widget_emit_event_signals (GtkWidget *widget,
{
gint signal_num;
switch (event->type)
switch (event->any.type)
{
case GDK_DRAG_ENTER:
case GDK_DRAG_LEAVE:
@@ -6817,7 +6817,7 @@ gtk_widget_emit_event_signals (GtkWidget *widget,
signal_num = GRAB_BROKEN_EVENT;
break;
default:
g_warning ("gtk_widget_event(): unhandled event type: %d", event->type);
g_warning ("gtk_widget_event(): unhandled event type: %d", event->any.type);
signal_num = -1;
break;
}
@@ -10355,8 +10355,8 @@ synth_crossing (GtkWidget *widget,
event = gdk_event_new (type);
event->crossing.window = g_object_ref (window);
event->crossing.send_event = TRUE;
event->any.window = g_object_ref (window);
event->any.send_event = TRUE;
event->crossing.subwindow = g_object_ref (window);
event->crossing.time = GDK_CURRENT_TIME;
gdk_device_get_position_double (device,
@@ -10379,7 +10379,7 @@ synth_crossing (GtkWidget *widget,
if (widget)
gtk_widget_event_internal (widget, event);
gdk_event_free (event);
g_object_unref (event);
}
/*
@@ -13409,7 +13409,7 @@ gtk_widget_get_opacity (GtkWidget *widget)
*
* gtk_widget_send_focus_change (widget, fevent);
*
* gdk_event_free (event);
* g_object_unref (event);
* ]|
*
* Returns: the return value from the event signal emission: %TRUE
@@ -13424,7 +13424,7 @@ gtk_widget_send_focus_change (GtkWidget *widget,
gboolean res;
g_return_val_if_fail (GTK_IS_WIDGET (widget), FALSE);
g_return_val_if_fail (event != NULL && event->type == GDK_FOCUS_CHANGE, FALSE);
g_return_val_if_fail (event != NULL && event->any.type == GDK_FOCUS_CHANGE, FALSE);
g_object_ref (widget);
+5 -5
View File
@@ -1337,7 +1337,7 @@ send_delete_event (gpointer data)
priv->delete_event_handler = 0;
gtk_main_do_event (event);
gdk_event_free (event);
g_object_unref (event);
return G_SOURCE_REMOVE;
}
@@ -7209,7 +7209,7 @@ gtk_window_configure_event (GtkWidget *widget,
if (!_gtk_widget_is_toplevel (widget))
return FALSE;
if (_gtk_widget_get_window (widget) != event->window)
if (_gtk_widget_get_window (widget) != event->any.window)
return TRUE;
/* If this is a gratuitous ConfigureNotify that's already
@@ -7628,8 +7628,8 @@ do_focus_change (GtkWidget *widget,
fevent = gdk_event_new (GDK_FOCUS_CHANGE);
fevent->focus_change.type = GDK_FOCUS_CHANGE;
fevent->focus_change.window = window;
fevent->any.type = GDK_FOCUS_CHANGE;
fevent->any.window = window;
if (window)
g_object_ref (window);
fevent->focus_change.in = in;
@@ -7637,7 +7637,7 @@ do_focus_change (GtkWidget *widget,
gtk_widget_send_focus_change (widget, fevent);
gdk_event_free (fevent);
g_object_unref (fevent);
}
g_list_free (devices);
-5
View File
@@ -256,7 +256,6 @@ main (int argc, char *argv[])
GtkWidget *drawing_area;
GtkWidget *vbox;
GtkWidget *button;
GdkWindow *gdk_win;
gtk_init ();
@@ -314,10 +313,6 @@ main (int argc, char *argv[])
gtk_widget_show (window);
/* request all motion events */
gdk_win = gtk_widget_get_window (drawing_area);
gdk_window_set_event_compression (gdk_win, FALSE);
gtk_main ();
return 0;