diff --git a/libraries/ESP8266WiFi/src/ESP8266WiFiGeneric.cpp b/libraries/ESP8266WiFi/src/ESP8266WiFiGeneric.cpp index 822f861a9..4d3d5fae8 100644 --- a/libraries/ESP8266WiFi/src/ESP8266WiFiGeneric.cpp +++ b/libraries/ESP8266WiFi/src/ESP8266WiFiGeneric.cpp @@ -203,7 +203,10 @@ WiFiEventHandler ESP8266WiFiGenericClass::onSoftAPModeProbeRequestReceived(std:: WiFiEventHandler ESP8266WiFiGenericClass::onWiFiModeChange(std::function f) { WiFiEventHandler handler = std::make_shared(WIFI_EVENT_MODE_CHANGE, [f](System_Event_t* e){ - WiFiEventModeChange& dst = *reinterpret_cast(&e->event_info); + auto& src = e->event_info.opmode_changed; + WiFiEventModeChange dst; + dst.oldMode = (WiFiMode_t)src.old_opmode; + dst.newMode = (WiFiMode_t)src.new_opmode; f(dst); }); sCbEventList.push_back(handler);