+2009-03-24 Alejandro G. Castro <alex@igalia.com>
+
+ * src/hildon-pannable-area.c,
+ (hildon_pannable_area_class_init),
+ (hildon_pannable_leave_notify_event): Added a handler of the
+ leave-notify-signal to consider when no motion notify before
+ leaving.
+
+ Fixes: NB#107494 (Items stay selected when clicking and moving
+ away when inside pannable area)
+
2009-03-23 Claudio Saavedra <csaavedra@igalia.com>
[Release 2.1.54]
gdouble x, gdouble y);
static gboolean hildon_pannable_area_motion_notify_cb (GtkWidget * widget,
GdkEventMotion * event);
+static gboolean hildon_pannable_leave_notify_event (GtkWidget *widget,
+ GdkEventCrossing *event);
static gboolean hildon_pannable_area_button_release_cb (GtkWidget * widget,
GdkEventButton * event);
static gboolean hildon_pannable_area_scroll_cb (GtkWidget *widget,
widget_class->button_press_event = hildon_pannable_area_button_press_cb;
widget_class->button_release_event = hildon_pannable_area_button_release_cb;
widget_class->motion_notify_event = hildon_pannable_area_motion_notify_cb;
+ widget_class->leave_notify_event = hildon_pannable_leave_notify_event;
widget_class->scroll_event = hildon_pannable_area_scroll_cb;
container_class->add = hildon_pannable_area_add;
}
static gboolean
+hildon_pannable_leave_notify_event (GtkWidget *widget,
+ GdkEventCrossing *event)
+{
+ HildonPannableArea *area = HILDON_PANNABLE_AREA (widget);
+ HildonPannableAreaPrivate *priv = area->priv;
+
+ if (priv->last_in) {
+ priv->last_in = FALSE;
+
+ synth_crossing (priv->child, 0, 0, event->x_root,
+ event->y_root, event->time, FALSE);
+ }
+
+ return FALSE;
+}
+
+static gboolean
hildon_pannable_area_button_release_cb (GtkWidget * widget,
GdkEventButton * event)
{