comparison libpurple/protocols/jabber/jabber.c @ 25963:feea711ac242

Patch from Paul Aurich to fix reporting idle when reconnecting only when we're really idle...
author Marcus Lundblad <ml@update.uu.se>
date Sun, 01 Feb 2009 18:00:05 +0000
parents a92df60855f3
children 65f2c84f122f
comparison
equal deleted inserted replaced
25962:a92df60855f3 25963:feea711ac242
26 #include "cmds.h" 26 #include "cmds.h"
27 #include "connection.h" 27 #include "connection.h"
28 #include "conversation.h" 28 #include "conversation.h"
29 #include "debug.h" 29 #include "debug.h"
30 #include "dnssrv.h" 30 #include "dnssrv.h"
31 #include "idle.h"
32 #include "message.h" 31 #include "message.h"
33 #include "notify.h" 32 #include "notify.h"
34 #include "pluginpref.h" 33 #include "pluginpref.h"
35 #include "privacy.h" 34 #include "privacy.h"
36 #include "proxy.h" 35 #include "proxy.h"
37 #include "prpl.h" 36 #include "prpl.h"
38 #include "request.h" 37 #include "request.h"
39 #include "server.h" 38 #include "server.h"
39 #include "status.h"
40 #include "util.h" 40 #include "util.h"
41 #include "version.h" 41 #include "version.h"
42 #include "xmlnode.h" 42 #include "xmlnode.h"
43 43
44 #include "auth.h" 44 #include "auth.h"
700 { 700 {
701 PurpleConnection *gc = purple_account_get_connection(account); 701 PurpleConnection *gc = purple_account_get_connection(account);
702 const char *connect_server = purple_account_get_string(account, 702 const char *connect_server = purple_account_get_string(account,
703 "connect_server", ""); 703 "connect_server", "");
704 JabberStream *js; 704 JabberStream *js;
705 PurplePresence *presence;
705 JabberBuddy *my_jb = NULL; 706 JabberBuddy *my_jb = NULL;
706 PurpleIdleUiOps *idle_ops = NULL; 707
707
708 gc->flags |= PURPLE_CONNECTION_HTML | 708 gc->flags |= PURPLE_CONNECTION_HTML |
709 PURPLE_CONNECTION_ALLOW_CUSTOM_SMILEY; 709 PURPLE_CONNECTION_ALLOW_CUSTOM_SMILEY;
710 js = gc->proto_data = g_new0(JabberStream, 1); 710 js = gc->proto_data = g_new0(JabberStream, 1);
711 js->gc = gc; 711 js->gc = gc;
712 js->fd = -1; 712 js->fd = -1;
726 js->certificate_CN = g_strdup(connect_server[0] ? connect_server : js->user ? js->user->domain : NULL); 726 js->certificate_CN = g_strdup(connect_server[0] ? connect_server : js->user ? js->user->domain : NULL);
727 727
728 /* if we are idle, set idle-ness on the stream (this could happen if we get 728 /* if we are idle, set idle-ness on the stream (this could happen if we get
729 disconnected and the reconnects while being idle. I don't think it makes 729 disconnected and the reconnects while being idle. I don't think it makes
730 sense to do this when registering a new account... */ 730 sense to do this when registering a new account... */
731 idle_ops = purple_idle_get_ui_ops(); 731 presence = purple_account_get_presence(account);
732 if (idle_ops && idle_ops->get_time_idle) { 732 if (purple_presence_is_idle(presence))
733 js->idle = (idle_ops->get_time_idle)(); 733 js->idle = purple_presence_get_idle_time(presence);
734 } 734
735
736 if(!js->user) { 735 if(!js->user) {
737 purple_connection_error_reason (gc, 736 purple_connection_error_reason (gc,
738 PURPLE_CONNECTION_ERROR_INVALID_SETTINGS, 737 PURPLE_CONNECTION_ERROR_INVALID_SETTINGS,
739 _("Invalid XMPP ID")); 738 _("Invalid XMPP ID"));
740 return; 739 return;