exa: avoid infinite loops if UTS sw fallbacks.
The upload in finish access can cause an infinite loop if UTS returns FALSE in here. Fixes fd.o bug #24246. Signed-off-by: Dave Airlie <airlied@redhat.com> Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
This commit is contained in:
		
							parent
							
								
									db98b26ee1
								
							
						
					
					
						commit
						b5fcc5553e
					
				|  | @ -242,11 +242,6 @@ exaCopyDirty(ExaMigrationPtr migrate, RegionPtr pValidDst, RegionPtr pValidSrc, | |||
| 	pBox++; | ||||
|     } | ||||
| 
 | ||||
|     if (access_prepared) | ||||
| 	exaFinishAccess(&pPixmap->drawable, fallback_index); | ||||
|     else if (need_sync && sync) | ||||
| 	sync (pPixmap->drawable.pScreen); | ||||
| 
 | ||||
|     pExaPixmap->offscreen = save_offscreen; | ||||
|     pPixmap->devKind = save_pitch; | ||||
| 
 | ||||
|  | @ -261,6 +256,11 @@ exaCopyDirty(ExaMigrationPtr migrate, RegionPtr pValidDst, RegionPtr pValidSrc, | |||
|     REGION_UNION(pScreen, pValidDst, pValidDst, &CopyReg); | ||||
| 
 | ||||
|     REGION_UNINIT(pScreen, &CopyReg); | ||||
| 
 | ||||
|     if (access_prepared) | ||||
| 	exaFinishAccess(&pPixmap->drawable, fallback_index); | ||||
|     else if (need_sync && sync) | ||||
| 	sync (pPixmap->drawable.pScreen); | ||||
| } | ||||
| 
 | ||||
| /**
 | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue