mirror of
				https://github.com/labwc/labwc.git
				synced 2025-11-03 09:01:51 -05:00 
			
		
		
		
	osd: do not use server->workspace_current->tree
...as it is no longer needed following the use of shared infrastructure between osd.c and desktop.c introduced in the last few commits.
This commit is contained in:
		
							parent
							
								
									7704b595d3
								
							
						
					
					
						commit
						41419d9479
					
				
					 1 changed files with 18 additions and 10 deletions
				
			
		
							
								
								
									
										28
									
								
								src/osd.c
									
										
									
									
									
								
							
							
						
						
									
										28
									
								
								src/osd.c
									
										
									
									
									
								
							| 
						 | 
					@ -255,8 +255,8 @@ get_title_if_different(struct view *view)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
static void
 | 
					static void
 | 
				
			||||||
render_osd(struct server *server, cairo_t *cairo, int w, int h,
 | 
					render_osd(struct server *server, cairo_t *cairo, int w, int h,
 | 
				
			||||||
		struct wl_list *node_list, bool show_workspace,
 | 
							bool show_workspace, const char *workspace_name,
 | 
				
			||||||
		const char *workspace_name, struct wl_array *views)
 | 
							struct wl_array *views)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	struct view *cycle_view = server->osd_state.cycle_view;
 | 
						struct view *cycle_view = server->osd_state.cycle_view;
 | 
				
			||||||
	struct theme *theme = server->theme;
 | 
						struct theme *theme = server->theme;
 | 
				
			||||||
| 
						 | 
					@ -401,8 +401,6 @@ display_osd(struct output *output)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	struct server *server = output->server;
 | 
						struct server *server = output->server;
 | 
				
			||||||
	struct theme *theme = server->theme;
 | 
						struct theme *theme = server->theme;
 | 
				
			||||||
	struct wl_list *node_list =
 | 
					 | 
				
			||||||
		&server->workspace_current->tree->children;
 | 
					 | 
				
			||||||
	bool show_workspace = wl_list_length(&rc.workspace_config.workspaces) > 1;
 | 
						bool show_workspace = wl_list_length(&rc.workspace_config.workspaces) > 1;
 | 
				
			||||||
	const char *workspace_name = server->workspace_current->name;
 | 
						const char *workspace_name = server->workspace_current->name;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -435,8 +433,7 @@ display_osd(struct output *output)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	/* Render OSD image */
 | 
						/* Render OSD image */
 | 
				
			||||||
	cairo_t *cairo = output->osd_buffer->cairo;
 | 
						cairo_t *cairo = output->osd_buffer->cairo;
 | 
				
			||||||
	render_osd(server, cairo, w, h, node_list, show_workspace,
 | 
						render_osd(server, cairo, w, h, show_workspace, workspace_name, &views);
 | 
				
			||||||
		workspace_name, &views);
 | 
					 | 
				
			||||||
	wl_array_release(&views);
 | 
						wl_array_release(&views);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	struct wlr_scene_buffer *scene_buffer = wlr_scene_buffer_create(
 | 
						struct wlr_scene_buffer *scene_buffer = wlr_scene_buffer_create(
 | 
				
			||||||
| 
						 | 
					@ -458,13 +455,24 @@ display_osd(struct output *output)
 | 
				
			||||||
	cursor_update_focus(server);
 | 
						cursor_update_focus(server);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					static int
 | 
				
			||||||
 | 
					nr_entries(struct server *server)
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
						struct wl_array views;
 | 
				
			||||||
 | 
						wl_array_init(&views);
 | 
				
			||||||
 | 
						view_array_append(server, &views,
 | 
				
			||||||
 | 
							LAB_VIEW_CRITERIA_CURRENT_WORKSPACE
 | 
				
			||||||
 | 
							| LAB_VIEW_CRITERIA_ROOT_TOPLEVEL
 | 
				
			||||||
 | 
							| LAB_VIEW_CRITERIA_NO_SKIP_WINDOW_SWITCHER);
 | 
				
			||||||
 | 
						int count = wl_array_len(&views);
 | 
				
			||||||
 | 
						wl_array_release(&views);
 | 
				
			||||||
 | 
						return count;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void
 | 
					void
 | 
				
			||||||
osd_update(struct server *server)
 | 
					osd_update(struct server *server)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	struct wl_list *node_list =
 | 
						if (!nr_entries(server) || !server->osd_state.cycle_view) {
 | 
				
			||||||
		&server->workspace_current->tree->children;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	if (wl_list_empty(node_list) || !server->osd_state.cycle_view) {
 | 
					 | 
				
			||||||
		osd_finish(server);
 | 
							osd_finish(server);
 | 
				
			||||||
		return;
 | 
							return;
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue