mirror of
				https://gitlab.freedesktop.org/wayland/wayland.git
				synced 2025-11-03 09:01:42 -05:00 
			
		
		
		
	Ignore surface.map_toplevel() if already mapped
This commit is contained in:
		
							parent
							
								
									175e6cec39
								
							
						
					
					
						commit
						8f66a57b4d
					
				
					 3 changed files with 7 additions and 1 deletions
				
			
		| 
						 | 
				
			
			@ -130,6 +130,7 @@ wlsc_surface_create(struct wlsc_compositor *compositor,
 | 
			
		|||
 | 
			
		||||
	wl_list_init(&surface->surface.destroy_listener_list);
 | 
			
		||||
	wl_list_init(&surface->link);
 | 
			
		||||
	surface->mapped = 0;
 | 
			
		||||
 | 
			
		||||
	glGenTextures(1, &surface->texture);
 | 
			
		||||
	glBindTexture(GL_TEXTURE_2D, surface->texture);
 | 
			
		||||
| 
						 | 
				
			
			@ -440,12 +441,16 @@ surface_map_toplevel(struct wl_client *client,
 | 
			
		|||
{
 | 
			
		||||
	struct wlsc_surface *es = (struct wlsc_surface *) surface;
 | 
			
		||||
 | 
			
		||||
	if (es->mapped)
 | 
			
		||||
		return;
 | 
			
		||||
 | 
			
		||||
	es->x = 10 + random() % 400;
 | 
			
		||||
	es->y = 10 + random() % 400;
 | 
			
		||||
 | 
			
		||||
	wlsc_surface_update_matrix(es);
 | 
			
		||||
	wl_list_insert(es->compositor->surface_list.prev, &es->link);
 | 
			
		||||
	wlsc_compositor_schedule_repaint(es->compositor);
 | 
			
		||||
	es->mapped = 1;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static void
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -146,6 +146,7 @@ struct wlsc_surface {
 | 
			
		|||
	struct wlsc_matrix matrix_inv;
 | 
			
		||||
	struct wl_visual *visual;
 | 
			
		||||
	struct wl_buffer *buffer;
 | 
			
		||||
	int mapped;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
void
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue