r4342 - in trunk/src/target/OM-2007.2/libraries/libmokoui2: . libmokoui

chris at sita.openmoko.org chris at sita.openmoko.org
Thu Apr 10 16:45:40 CEST 2008


Author: chris
Date: 2008-04-10 16:45:39 +0200 (Thu, 10 Apr 2008)
New Revision: 4342

Modified:
   trunk/src/target/OM-2007.2/libraries/libmokoui2/ChangeLog
   trunk/src/target/OM-2007.2/libraries/libmokoui2/libmokoui/moko-finger-scroll.c
Log:
        * libmokoui/moko-finger-scroll.c
        (moko_finger_scroll_button_press_cb),
        (moko_finger_scroll_motion_notify_cb),
        (moko_finger_scroll_button_release_cb), (moko_finger_scroll_init):
        Do check event type, but don't distinguish between single click and
        double-click


Modified: trunk/src/target/OM-2007.2/libraries/libmokoui2/ChangeLog
===================================================================
--- trunk/src/target/OM-2007.2/libraries/libmokoui2/ChangeLog	2008-04-10 14:08:23 UTC (rev 4341)
+++ trunk/src/target/OM-2007.2/libraries/libmokoui2/ChangeLog	2008-04-10 14:45:39 UTC (rev 4342)
@@ -1,3 +1,12 @@
+2008-04-10  Chris Lord  <chris at openedhand.com>
+
+	* libmokoui/moko-finger-scroll.c
+	(moko_finger_scroll_button_press_cb),
+	(moko_finger_scroll_motion_notify_cb),
+	(moko_finger_scroll_button_release_cb), (moko_finger_scroll_init):
+	Do check event type, but don't distinguish between single click and
+	double-click
+
 2008-04-07  Chris Lord  <chris at openedhand.com>
 
 	* libmokoui/moko-finger-scroll.c

Modified: trunk/src/target/OM-2007.2/libraries/libmokoui2/libmokoui/moko-finger-scroll.c
===================================================================
--- trunk/src/target/OM-2007.2/libraries/libmokoui2/libmokoui/moko-finger-scroll.c	2008-04-10 14:08:23 UTC (rev 4341)
+++ trunk/src/target/OM-2007.2/libraries/libmokoui2/libmokoui/moko-finger-scroll.c	2008-04-10 14:45:39 UTC (rev 4342)
@@ -53,6 +53,7 @@
 	gboolean enabled;
 	gboolean clicked;
 	guint32 last_time;	/* Last event time, to stop infinite loops */
+	gint last_type;
 	gboolean moved;
 	GTimeVal click_start;
 	GTimeVal last_click;
@@ -231,9 +232,11 @@
 	MokoFingerScrollPrivate *priv = FINGER_SCROLL_PRIVATE (scroll);
 
 	if ((!priv->enabled) || (event->button != 1) ||
-	    ((event->time == priv->last_time))) return TRUE;
+	    ((event->time == priv->last_time) &&
+	     (priv->last_type == 1))) return TRUE;
 	
 	priv->last_time = event->time;
+	priv->last_type = 1;
 
 	priv->click_x = event->x;
 	priv->click_y = event->y;
@@ -468,7 +471,8 @@
 	gdouble x, y;
 
 	if ((!priv->enabled) || (!priv->clicked) ||
-	    ((event->time == priv->last_time))) {
+	    ((event->time == priv->last_time) &&
+	     (priv->last_type == 2))) {
 		gdk_window_get_pointer (
 			GTK_WIDGET (scroll)->window, NULL, NULL, 0);
 		return TRUE;
@@ -533,6 +537,7 @@
 	if (priv->child) {
 		/* Send motion notify to child */
 		priv->last_time = event->time;
+		priv->last_type = 2;
 		event = (GdkEventMotion *)gdk_event_copy ((GdkEvent *)event);
 		event->x = priv->cx + (event->x - priv->ix);
 		event->y = priv->cy + (event->y - priv->iy);
@@ -558,10 +563,12 @@
 	gdouble delta, speed_x, speed_y;
 	
 	if ((!priv->clicked) || (!priv->enabled) || (event->button != 1) ||
-	    ((event->time == priv->last_time)))
+	    ((event->time == priv->last_time) &&
+	     (priv->last_type == 3)))
 		return TRUE;
 
 	priv->last_time = event->time;
+	priv->last_type = 3;
 	
 	g_get_current_time (&current);
 
@@ -994,6 +1001,7 @@
 	priv->moved = FALSE;
 	priv->clicked = FALSE;
 	priv->last_time = 0;
+	priv->last_type = 0;
 	priv->vscroll = TRUE;
 	priv->hscroll = TRUE;
 	priv->scroll_width = 6;





More information about the commitlog mailing list