dix: only freeze the paired MD on a grab, not all other devices.
This commit is contained in:
		
							parent
							
								
									e4fe0a3cb7
								
							
						
					
					
						commit
						9eb8ea9e61
					
				
							
								
								
									
										13
									
								
								dix/events.c
								
								
								
								
							
							
						
						
									
										13
									
								
								dix/events.c
								
								
								
								
							|  | @ -1520,13 +1520,15 @@ CheckGrabForSyncs(DeviceIntPtr thisDev, Bool thisMode, Bool otherMode) | |||
| 	     CLIENT_BITS(grab->resource))) | ||||
| 	    thisDev->deviceGrab.sync.other = NullGrab; | ||||
|     } | ||||
|     /* XXX: other should only work on the paired keyboard, not on all other
 | ||||
|        devices | ||||
| 
 | ||||
|     /*
 | ||||
|         XXX: Direct slave grab won't freeze the paired master device. | ||||
|         The correct thing to do would be to freeze all SDs attached to the | ||||
|         paired master device. | ||||
|      */ | ||||
|     for (dev = inputInfo.devices; dev; dev = dev->next) | ||||
|     { | ||||
| 	if (dev != thisDev) | ||||
|     if (thisDev->isMaster) | ||||
|     { | ||||
|         dev = GetPairedDevice(thisDev); | ||||
|         if (otherMode == GrabModeSync) | ||||
|             dev->deviceGrab.sync.other = grab; | ||||
|         else | ||||
|  | @ -1537,7 +1539,6 @@ CheckGrabForSyncs(DeviceIntPtr thisDev, Bool thisMode, Bool otherMode) | |||
|                 dev->deviceGrab.sync.other = NullGrab; | ||||
|         } | ||||
|     } | ||||
|     } | ||||
|     ComputeFreezes(); | ||||
| } | ||||
| 
 | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue