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: