mirror of
				https://github.com/labwc/labwc.git
				synced 2025-11-03 09:01:51 -05:00 
			
		
		
		
	view: Add view_evacuate_region() helper
v2: Modify asserts as suggested by Consolatis
This commit is contained in:
		
							parent
							
								
									0ca6c4c763
								
							
						
					
					
						commit
						d2fae39fe3
					
				
					 3 changed files with 13 additions and 6 deletions
				
			
		| 
						 | 
					@ -162,6 +162,7 @@ void view_reload_ssd(struct view *view);
 | 
				
			||||||
void view_impl_map(struct view *view);
 | 
					void view_impl_map(struct view *view);
 | 
				
			||||||
void view_adjust_size(struct view *view, int *w, int *h);
 | 
					void view_adjust_size(struct view *view, int *w, int *h);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					void view_evacuate_region(struct view *view);
 | 
				
			||||||
void view_on_output_destroy(struct view *view);
 | 
					void view_on_output_destroy(struct view *view);
 | 
				
			||||||
void view_destroy(struct view *view);
 | 
					void view_destroy(struct view *view);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -219,12 +219,7 @@ regions_evacuate_output(struct output *output)
 | 
				
			||||||
	wl_list_for_each(view, &output->server->views, link) {
 | 
						wl_list_for_each(view, &output->server->views, link) {
 | 
				
			||||||
		wl_list_for_each(region, &output->regions, link) {
 | 
							wl_list_for_each(region, &output->regions, link) {
 | 
				
			||||||
			if (view->tiled_region == region) {
 | 
								if (view->tiled_region == region) {
 | 
				
			||||||
				if (!view->tiled_region_evacuate) {
 | 
									view_evacuate_region(view);
 | 
				
			||||||
					view->tiled_region_evacuate =
 | 
					 | 
				
			||||||
						xstrdup(region->name);
 | 
					 | 
				
			||||||
				}
 | 
					 | 
				
			||||||
				/* Prevent carrying around a dangling pointer */
 | 
					 | 
				
			||||||
				view->tiled_region = NULL;
 | 
					 | 
				
			||||||
				break;
 | 
									break;
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										11
									
								
								src/view.c
									
										
									
									
									
								
							
							
						
						
									
										11
									
								
								src/view.c
									
										
									
									
									
								
							| 
						 | 
					@ -774,6 +774,17 @@ view_discover_output(struct view *view)
 | 
				
			||||||
	view->output = view_output(view);
 | 
						view->output = view_output(view);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					void
 | 
				
			||||||
 | 
					view_evacuate_region(struct view *view)
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
						assert(view);
 | 
				
			||||||
 | 
						assert(view->tiled_region);
 | 
				
			||||||
 | 
						if (!view->tiled_region_evacuate) {
 | 
				
			||||||
 | 
							view->tiled_region_evacuate = xstrdup(view->tiled_region->name);
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						view->tiled_region = NULL;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void
 | 
					void
 | 
				
			||||||
view_on_output_destroy(struct view *view)
 | 
					view_on_output_destroy(struct view *view)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue