libpurple/protocols/gg/gg.c

changeset 34433
fa2313e5f320
parent 34429
f0ae13a29cdf
child 34435
5f8f4ad241d1
equal deleted inserted replaced
34432:ae98f6f112db 34433:fa2313e5f320
49 #include "purplew.h" 49 #include "purplew.h"
50 #include "libgadu-events.h" 50 #include "libgadu-events.h"
51 #include "multilogon.h" 51 #include "multilogon.h"
52 #include "status.h" 52 #include "status.h"
53 #include "servconn.h" 53 #include "servconn.h"
54 #include "tcpsocket.h"
54 #include "pubdir-prpl.h" 55 #include "pubdir-prpl.h"
55 #include "message-prpl.h" 56 #include "message-prpl.h"
56 #include "html.h" 57 #include "html.h"
57 #include "libgaduw.h" 58 #include "libgaduw.h"
58 59
394 } 395 }
395 396
396 gg_free_event(ev); 397 gg_free_event(ev);
397 } 398 }
398 399
399 static void ggp_async_login_handler(gpointer _gc, gint fd, PurpleInputCondition cond) 400 void ggp_async_login_handler(gpointer _gc, gint fd, PurpleInputCondition cond)
400 { 401 {
401 PurpleConnection *gc = _gc; 402 PurpleConnection *gc = _gc;
402 GGPInfo *info; 403 GGPInfo *info;
403 struct gg_event *ev; 404 struct gg_event *ev;
404 405
646 glp->struct_size = sizeof(struct gg_login_params); 647 glp->struct_size = sizeof(struct gg_login_params);
647 info = g_new0(GGPInfo, 1); 648 info = g_new0(GGPInfo, 1);
648 649
649 purple_connection_set_protocol_data(gc, info); 650 purple_connection_set_protocol_data(gc, info);
650 651
652 ggp_tcpsocket_setup(gc, glp);
651 ggp_image_setup(gc); 653 ggp_image_setup(gc);
652 ggp_avatar_setup(gc); 654 ggp_avatar_setup(gc);
653 ggp_roster_setup(gc); 655 ggp_roster_setup(gc);
654 ggp_multilogon_setup(gc); 656 ggp_multilogon_setup(gc);
655 ggp_status_setup(gc); 657 ggp_status_setup(gc);
730 purple_connection_error (gc, 732 purple_connection_error (gc,
731 PURPLE_CONNECTION_ERROR_NETWORK_ERROR, 733 PURPLE_CONNECTION_ERROR_NETWORK_ERROR,
732 _("Connection failed")); 734 _("Connection failed"));
733 return; 735 return;
734 } 736 }
735 info->inpa = purple_input_add(info->session->fd, PURPLE_INPUT_READ, 737
736 ggp_async_login_handler, gc); 738 if (info->session->fd > 0) {
739 info->inpa = purple_input_add(info->session->fd,
740 PURPLE_INPUT_READ, ggp_async_login_handler, gc);
741 }
737 } 742 }
738 743
739 static void ggp_close(PurpleConnection *gc) 744 static void ggp_close(PurpleConnection *gc)
740 { 745 {
741 PurpleAccount *account; 746 PurpleAccount *account;

mercurial