mirror of
				https://github.com/labwc/labwc.git
				synced 2025-11-03 09:01:51 -05:00 
			
		
		
		
	xdg: Eliminate redundant update_x/update_y flags
struct view's pending_move_resize.update_x/update_y flags appear to be redundant, since we can easily determine whether x/y have been update via a simple comparison in handle_commit(). The only corner case I can think of where this change might affect behavior, is if xdg_toplevel_view_move() is called while a resize is still pending (e.g. after xdg_toplevel_view_configure() but before handle_commit()). This corner case will be addressed in the following commit.
This commit is contained in:
		
							parent
							
								
									a417c1c761
								
							
						
					
					
						commit
						cfc3c93102
					
				
					 2 changed files with 2 additions and 5 deletions
				
			
		| 
						 | 
				
			
			@ -65,7 +65,6 @@ struct view {
 | 
			
		|||
	struct wlr_box natural_geometry;
 | 
			
		||||
 | 
			
		||||
	struct view_pending_move_resize {
 | 
			
		||||
		bool update_x, update_y;
 | 
			
		||||
		int x, y;
 | 
			
		||||
		uint32_t width, height;
 | 
			
		||||
		uint32_t configure_serial;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -76,12 +76,12 @@ handle_commit(struct wl_listener *listener, void *data)
 | 
			
		|||
 | 
			
		||||
	uint32_t serial = view->pending_move_resize.configure_serial;
 | 
			
		||||
	if (serial > 0 && serial >= xdg_surface->current.configure_serial) {
 | 
			
		||||
		if (view->pending_move_resize.update_x) {
 | 
			
		||||
		if (view->x != view->pending_move_resize.x) {
 | 
			
		||||
			update_required = true;
 | 
			
		||||
			view->x = view->pending_move_resize.x +
 | 
			
		||||
				view->pending_move_resize.width - size.width;
 | 
			
		||||
		}
 | 
			
		||||
		if (view->pending_move_resize.update_y) {
 | 
			
		||||
		if (view->y != view->pending_move_resize.y) {
 | 
			
		||||
			update_required = true;
 | 
			
		||||
			view->y = view->pending_move_resize.y +
 | 
			
		||||
				view->pending_move_resize.height - size.height;
 | 
			
		||||
| 
						 | 
				
			
			@ -205,8 +205,6 @@ xdg_toplevel_view_configure(struct view *view, struct wlr_box geo)
 | 
			
		|||
{
 | 
			
		||||
	view_adjust_size(view, &geo.width, &geo.height);
 | 
			
		||||
 | 
			
		||||
	view->pending_move_resize.update_x = geo.x != view->x;
 | 
			
		||||
	view->pending_move_resize.update_y = geo.y != view->y;
 | 
			
		||||
	view->pending_move_resize.x = geo.x;
 | 
			
		||||
	view->pending_move_resize.y = geo.y;
 | 
			
		||||
	view->pending_move_resize.width = geo.width;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue