Mercurial > pidgin.yaz
comparison libgaim/network.c @ 14815:49450a1bc58e
[gaim-migrate @ 17581]
Check to make sure UI ops exist for network_connected and network_disconnected
before calling them. Thanks to plaes on #gaim who says this fixes some
gaim-text crashes.
committer: Tailor Script <tailor@pidgin.im>
author | Stu Tomlinson <stu@nosnilmot.com> |
---|---|
date | Wed, 25 Oct 2006 12:51:22 +0000 |
parents | 4138063d89c9 |
children | 717ea4589f8d |
comparison
equal
deleted
inserted
replaced
14814:eb1684a9a029 | 14815:49450a1bc58e |
---|---|
434 if (new_count < 0) | 434 if (new_count < 0) |
435 return FALSE; | 435 return FALSE; |
436 | 436 |
437 gaim_debug_info("network", "Received Network Change Notification. Current network count is %d, previous count was %d.\n", new_count, current_network_count); | 437 gaim_debug_info("network", "Received Network Change Notification. Current network count is %d, previous count was %d.\n", new_count, current_network_count); |
438 | 438 |
439 if (new_count > 0) { | 439 if (new_count > 0 && ui_ops != NULL && ui_ops->network_connected != NULL) { |
440 ui_ops->network_connected(); | 440 ui_ops->network_connected(); |
441 } else if (new_count == 0 && current_network_count > 0) { | 441 } else if (new_count == 0 && current_network_count > 0 && |
442 ui_ops != NULL && ui_ops->network_disconnected != NULL) { | |
442 ui_ops->network_disconnected(); | 443 ui_ops->network_disconnected(); |
443 } | 444 } |
444 | 445 |
445 current_network_count = new_count; | 446 current_network_count = new_count; |
446 | 447 |
546 switch(current) | 547 switch(current) |
547 { | 548 { |
548 case LIBNM_ACTIVE_NETWORK_CONNECTION: | 549 case LIBNM_ACTIVE_NETWORK_CONNECTION: |
549 /* Call res_init in case DNS servers have changed */ | 550 /* Call res_init in case DNS servers have changed */ |
550 res_init(); | 551 res_init(); |
551 ui_ops->network_connected(); | 552 if (ui_ops != NULL && ui_ops->network_connected != NULL) |
553 ui_ops->network_connected(); | |
552 prev = current; | 554 prev = current; |
553 break; | 555 break; |
554 case LIBNM_NO_NETWORK_CONNECTION: | 556 case LIBNM_NO_NETWORK_CONNECTION: |
555 if (prev != LIBNM_ACTIVE_NETWORK_CONNECTION) | 557 if (prev != LIBNM_ACTIVE_NETWORK_CONNECTION) |
556 break; | 558 break; |
557 ui_ops->network_disconnected(); | 559 if (ui_ops != NULL && ui_ops->network_disconnected != NULL) |
560 ui_ops->network_disconnected(); | |
558 prev = current; | 561 prev = current; |
559 break; | 562 break; |
560 case LIBNM_NO_DBUS: | 563 case LIBNM_NO_DBUS: |
561 case LIBNM_NO_NETWORKMANAGER: | 564 case LIBNM_NO_NETWORKMANAGER: |
562 case LIBNM_INVALID_CONTEXT: | 565 case LIBNM_INVALID_CONTEXT: |