added checking router id in handleEvent function, because module doesn't update state

This commit is contained in:
User 2022-09-15 14:03:32 +03:00
parent e58f1fd3e0
commit 52e9f624be

View File

@ -646,7 +646,11 @@ int waybar::modules::Network::handleEvents(struct nl_msg *msg, void *data) {
if (has_gateway && !has_destination && temp_idx != -1) { if (has_gateway && !has_destination && temp_idx != -1) {
// Check if this is the first default route we see, or if this new // Check if this is the first default route we see, or if this new
// route have a higher priority. // route have a higher priority.
if (!is_del_event && ((net->ifid_ == -1) || (priority < net->route_priority))) { /** Module doesn`t update state, because RTA_GATEWAY call before enable new router and set higher priority.
Disable router -> RTA_GATEWAY -> up new router -> set higher priority
added checking route id
**/
if (!is_del_event && ((net->ifid_ == -1) || (priority < net->route_priority) || (net->ifid_ != temp_idx)) {
// Clear if's state for the case were there is a higher priority // Clear if's state for the case were there is a higher priority
// route on a different interface. // route on a different interface.
net->clearIface(); net->clearIface();