class_ -> class, free more stuff in destroy_shell_surface
This commit is contained in:
		
							parent
							
								
									241fec4d87
								
							
						
					
					
						commit
						d6c6b7c506
					
				|  | @ -51,7 +51,7 @@ struct wlr_wl_shell_surface { | |||
| 	struct wlr_wl_shell_surface_popup_state *popup_state; | ||||
| 
 | ||||
| 	char *title; | ||||
| 	char *class_; | ||||
| 	char *class; | ||||
| 
 | ||||
| 	struct { | ||||
| 		struct wl_signal destroy; | ||||
|  |  | |||
|  | @ -25,7 +25,7 @@ void handle_wl_shell_surface(struct wl_listener *listener, void *data) { | |||
| 
 | ||||
| 	struct wlr_wl_shell_surface *surface = data; | ||||
| 	wlr_log(L_DEBUG, "new shell surface: title=%s, class=%s", | ||||
| 		surface->title, surface->class_); | ||||
| 		surface->title, surface->class); | ||||
| 	//wlr_wl_shell_surface_ping(surface); // TODO: segfaults
 | ||||
| 
 | ||||
| 	struct roots_wl_shell_surface *roots_surface = | ||||
|  |  | |||
|  | @ -245,17 +245,17 @@ static void shell_surface_set_title(struct wl_client *client, | |||
| } | ||||
| 
 | ||||
| static void shell_surface_set_class(struct wl_client *client, | ||||
| 		struct wl_resource *resource, const char *class_) { | ||||
| 	wlr_log(L_DEBUG, "new shell surface class: %s", class_); | ||||
| 		struct wl_resource *resource, const char *class) { | ||||
| 	wlr_log(L_DEBUG, "new shell surface class: %s", class); | ||||
| 	struct wlr_wl_shell_surface *surface = wl_resource_get_user_data(resource); | ||||
| 
 | ||||
| 	char *tmp = strdup(class_); | ||||
| 	char *tmp = strdup(class); | ||||
| 	if (tmp == NULL) { | ||||
| 		return; | ||||
| 	} | ||||
| 
 | ||||
| 	free(surface->class_); | ||||
| 	surface->class_ = tmp; | ||||
| 	free(surface->class); | ||||
| 	surface->class = tmp; | ||||
| 
 | ||||
| 	wl_signal_emit(&surface->events.set_class, surface); | ||||
| } | ||||
|  | @ -277,8 +277,10 @@ static void destroy_shell_surface(struct wl_resource *resource) { | |||
| 	struct wlr_wl_shell_surface *surface = wl_resource_get_user_data(resource); | ||||
| 	wl_signal_emit(&surface->events.destroy, surface); | ||||
| 	wl_list_remove(&surface->link); | ||||
| 	free(surface->transient_state); | ||||
| 	free(surface->popup_state); | ||||
| 	free(surface->title); | ||||
| 	free(surface->class_); | ||||
| 	free(surface->class); | ||||
| 	free(surface); | ||||
| } | ||||
| 
 | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue