mirror of
				https://github.com/esphome/esphome.git
				synced 2025-10-30 22:53:59 +00:00 
			
		
		
		
	Fix crash when event last_event_type is null in web_server (#9266)
This commit is contained in:
		| @@ -1683,12 +1683,15 @@ void WebServer::handle_event_request(AsyncWebServerRequest *request, const UrlMa | |||||||
|   request->send(404); |   request->send(404); | ||||||
| } | } | ||||||
|  |  | ||||||
|  | static std::string get_event_type(event::Event *event) { return event->last_event_type ? *event->last_event_type : ""; } | ||||||
|  |  | ||||||
| std::string WebServer::event_state_json_generator(WebServer *web_server, void *source) { | std::string WebServer::event_state_json_generator(WebServer *web_server, void *source) { | ||||||
|   return web_server->event_json((event::Event *) (source), *(((event::Event *) (source))->last_event_type), |   auto *event = static_cast<event::Event *>(source); | ||||||
|                                 DETAIL_STATE); |   return web_server->event_json(event, get_event_type(event), DETAIL_STATE); | ||||||
| } | } | ||||||
| std::string WebServer::event_all_json_generator(WebServer *web_server, void *source) { | std::string WebServer::event_all_json_generator(WebServer *web_server, void *source) { | ||||||
|   return web_server->event_json((event::Event *) (source), *(((event::Event *) (source))->last_event_type), DETAIL_ALL); |   auto *event = static_cast<event::Event *>(source); | ||||||
|  |   return web_server->event_json(event, get_event_type(event), DETAIL_ALL); | ||||||
| } | } | ||||||
| std::string WebServer::event_json(event::Event *obj, const std::string &event_type, JsonDetail start_config) { | std::string WebServer::event_json(event::Event *obj, const std::string &event_type, JsonDetail start_config) { | ||||||
|   return json::build_json([this, obj, event_type, start_config](JsonObject root) { |   return json::build_json([this, obj, event_type, start_config](JsonObject root) { | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user