wayland: Ensure the touch sequence pointer value is non-null
Weston numbers its touch sequences ids starting from 0, thus simply setting the GtkEvents touch.sequence to the touch id value typically causes gdk_event_get_event_sequence to return NULL. Unfortunately this confuses other parts of GDK. As both weston & mutter keep the sequence id between 0..max_dev_touches -1 simply use + 1 to keep the id > 0. While this isn't entirely correct (compositor could send -1 as the touch id), this keeps the touch id in gtk tied to the touch id from weston which is useful for debugging. A more thorough solution could be done when it turns out this is an issue in practise https://bugzilla.gnome.org/show_bug.cgi?id=731371
This commit is contained in:
		 Sjoerd Simons
					Sjoerd Simons
				
			
				
					committed by
					
						 Sjoerd Simons
						Sjoerd Simons
					
				
			
			
				
	
			
			
			 Sjoerd Simons
						Sjoerd Simons
					
				
			
						parent
						
							45a64cd7d4
						
					
				
				
					commit
					5b118a9fd7
				
			| @ -1289,7 +1289,7 @@ _create_touch_event (GdkWaylandDeviceData *device, | ||||
|   event->touch.time = time; | ||||
|   event->touch.state = device->modifiers; | ||||
|   gdk_event_set_screen (event, display->screen); | ||||
|   event->touch.sequence = GUINT_TO_POINTER (touch->id); | ||||
|   event->touch.sequence = GUINT_TO_POINTER (touch->id + 1); | ||||
|  | ||||
|   if (touch->initial_touch) | ||||
|     { | ||||
|  | ||||
		Reference in New Issue
	
	Block a user