backend/drm: fix segfault in page_flip_handler
Since 5b1b43c68c ("backend/drm: make wlr_drm_plane.{pending,queued,current}_fb
pointers"), current_fb can be NULL if there's no buffer. If current_fb
is not NULL, current_fb->wlr_buf is guaranteed to not be NULL.
Closes: https://github.com/swaywm/wlroots/issues/2634
			
			
This commit is contained in:
		
							parent
							
								
									3f7e0cf5f0
								
							
						
					
					
						commit
						5d054258af
					
				|  | @ -1484,7 +1484,7 @@ static void page_flip_handler(int fd, unsigned seq, | ||||||
| 	 * data between the GPUs, even if we were using the direct scanout | 	 * data between the GPUs, even if we were using the direct scanout | ||||||
| 	 * interface. | 	 * interface. | ||||||
| 	 */ | 	 */ | ||||||
| 	if (!drm->parent && plane->current_fb->wlr_buf && | 	if (!drm->parent && plane->current_fb && | ||||||
| 			wlr_client_buffer_get(plane->current_fb->wlr_buf)) { | 			wlr_client_buffer_get(plane->current_fb->wlr_buf)) { | ||||||
| 		present_flags |= WLR_OUTPUT_PRESENT_ZERO_COPY; | 		present_flags |= WLR_OUTPUT_PRESENT_ZERO_COPY; | ||||||
| 	} | 	} | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue