mirror of
				https://github.com/labwc/labwc.git
				synced 2025-11-03 09:01:51 -05:00 
			
		
		
		
	icon-loader: add a log handler for sfdo messages
Useful for debugging why an icon isn't being loaded. v2: suggestions from @tokyo4j
This commit is contained in:
		
							parent
							
								
									fb0c7a29c6
								
							
						
					
					
						commit
						45f3bde864
					
				
					 1 changed files with 22 additions and 0 deletions
				
			
		| 
						 | 
					@ -25,6 +25,19 @@ struct icon_loader {
 | 
				
			||||||
	struct sfdo_icon_theme *icon_theme;
 | 
						struct sfdo_icon_theme *icon_theme;
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					static void
 | 
				
			||||||
 | 
					log_handler(enum sfdo_log_level level, const char *fmt, va_list args, void *tag)
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
						/* add a prefix if the format length is reasonable */
 | 
				
			||||||
 | 
						char buf[256];
 | 
				
			||||||
 | 
						if (snprintf(buf, sizeof(buf), "[%s] %s", (const char *)tag, fmt)
 | 
				
			||||||
 | 
								< (int)sizeof(buf)) {
 | 
				
			||||||
 | 
							fmt = buf;
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						/* sfdo_log_level and wlr_log_importance are compatible */
 | 
				
			||||||
 | 
						_wlr_vlog((enum wlr_log_importance)level, fmt, args);
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void
 | 
					void
 | 
				
			||||||
icon_loader_init(struct server *server)
 | 
					icon_loader_init(struct server *server)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
| 
						 | 
					@ -42,6 +55,15 @@ icon_loader_init(struct server *server)
 | 
				
			||||||
	if (!loader->icon_ctx) {
 | 
						if (!loader->icon_ctx) {
 | 
				
			||||||
		goto err_icon_ctx;
 | 
							goto err_icon_ctx;
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						/* sfdo_log_level and wlr_log_importance are compatible */
 | 
				
			||||||
 | 
						enum sfdo_log_level level =
 | 
				
			||||||
 | 
							(enum sfdo_log_level)wlr_log_get_verbosity();
 | 
				
			||||||
 | 
						sfdo_desktop_ctx_set_log_handler(
 | 
				
			||||||
 | 
							loader->desktop_ctx, level, log_handler, "sfdo-desktop");
 | 
				
			||||||
 | 
						sfdo_icon_ctx_set_log_handler(
 | 
				
			||||||
 | 
							loader->icon_ctx, level, log_handler, "sfdo-icon");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	loader->desktop_db = sfdo_desktop_db_load(loader->desktop_ctx, NULL);
 | 
						loader->desktop_db = sfdo_desktop_db_load(loader->desktop_ctx, NULL);
 | 
				
			||||||
	if (!loader->desktop_db) {
 | 
						if (!loader->desktop_db) {
 | 
				
			||||||
		goto err_desktop_db;
 | 
							goto err_desktop_db;
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue