# HG changeset patch # User Sean Egan # Date 1170020432 0 # Node ID c68f2808f703796b42f67145d99bd5a263be7703 # Parent c6115dc73b2827ed012206fd9a4593d73a52564d# Parent 154b8d8643a2b25808d4371658186419dc6fdb15 merge of '53ec0f43994bc2a1adb7671f7f52c365475ff97a' and 'd29b89ab5d6d87418a4f03545dec207a74bdad0d' diff -r 154b8d8643a2 -r c68f2808f703 config.h.mingw --- a/config.h.mingw Sun Jan 28 21:40:07 2007 +0000 +++ b/config.h.mingw Sun Jan 28 21:40:32 2007 +0000 @@ -643,3 +643,5 @@ #define HAVE_VSNPRINTF 1 #define SIZEOF_TIME_T 4 + +#define PIDGIN_NAME "Pidgin" diff -r 154b8d8643a2 -r c68f2808f703 libpurple/Makefile.am --- a/libpurple/Makefile.am Sun Jan 28 21:40:07 2007 +0000 +++ b/libpurple/Makefile.am Sun Jan 28 21:40:32 2007 +0000 @@ -11,7 +11,7 @@ win32/libc_interface.c \ win32/libc_interface.h \ win32/libc_internal.h \ - win32/libgaimrc.rc.in \ + win32/libpurplerc.rc.in \ win32/rules.mak \ win32/targets.mak \ win32/wgaimerror.h \ diff -r 154b8d8643a2 -r c68f2808f703 libpurple/gaim-compat.h --- a/libpurple/gaim-compat.h Sun Jan 28 21:40:07 2007 +0000 +++ b/libpurple/gaim-compat.h Sun Jan 28 21:40:32 2007 +0000 @@ -370,6 +370,8 @@ #define gaim_buddy_icon_get_scale_size purple_buddy_icon_get_scale_size +/* from cipher.h */ + #define GAIM_CIPHER PURPLE_CIPHER #define GAIM_CIPHER_OPS PURPLE_CIPHER_OPS #define GAIM_CIPHER_CONTEXT PURPLE_CIPHER_CONTEXT @@ -433,4 +435,486 @@ #define gaim_cipher_http_digest_calculate_response \ purple_cipher_http_digest_calculate_response +/* from circbuffer.h */ + +#define GaimCircBuffer PurpleCircBuffer + +#define gaim_circ_buffer_new purple_circ_buffer_new +#define gaim_circ_buffer_destroy purple_circ_buffer_destroy +#define gaim_circ_buffer_append purple_circ_buffer_append +#define gaim_circ_buffer_get_max_read purple_circ_buffer_get_max_read +#define gaim_circ_buffer_mark_read purple_circ_buffer_mark_read + +/* from cmds.h */ + +#define GaimCmdPriority PurpleCmdPriority +#define GaimCmdFlag PurpleCmdFlag +#define GaimCmdStatus PurpleCmdStatus +#define GaimCmdRet PurpleCmdRet + +#define GAIM_CMD_FUNC PURPLE_CMD_FUNC + +#define GaimCmdFunc PurpleCmdFunc + +#define GaimCmdId PurpleCmdId + +#define gaim_cmd_register purple_cmd_register +#define gaim_cmd_unregister purple_cmd_unregister +#define gaim_cmd_do_command purple_cmd_do_command +#define gaim_cmd_list purple_cmd_list +#define gaim_cmd_help purple_cmd_help + +/* from connection.h */ + +#define GaimConnection PurpleConnection + +#define GAIM_CONNECTION_HTML PURPLE_CONNECTION_HTML +#define GAIM_CONNECTION_NO_BGCOLOR PURPLE_CONNECTION_NO_BGCOLOR +#define GAIM_CONNECTION_AUTO_RESP PURPLE_CONNECTION_AUTO_RESP +#define GAIM_CONNECTION_FORMATTING_WBFO PURPLE_CONNECTION_FORMATTING_WBFO +#define GAIM_CONNECTION_NO_NEWLINES PURPLE_CONNECTION_NO_NEWLINES +#define GAIM_CONNECTION_NO_FONTSIZE PURPLE_CONNECTION_NO_FONTSIZE +#define GAIM_CONNECTION_NO_URLDESC PURPLE_CONNECTION_NO_URLDESC +#define GAIM_CONNECTION_NO_IMAGES PURPLE_CONNECTION_NO_IMAGES + +#define GaimConnectionFlags PurpleConnectionFlags + +#define GAIM_DISCONNECTED PURPLE_DISCONNECTED +#define GAIM_CONNECTED PURPLE_CONNECTED +#define GAIM_CONNECTING PURPLE_CONNECTING + +#define GaimConnectionState PurpleConnectionState + +#define GaimConnectionUiOps PurpleConnectionUiOps + +#define gaim_connection_new purple_connection_new +#define gaim_connection_destroy purple_connection_destroy + +#define gaim_connection_set_state purple_connection_set_state +#define gaim_connection_set_account purple_connection_set_account +#define gaim_connection_set_display_name purple_connection_set_display_name +#define gaim_connection_get_state purple_connection_get_state + +#define GAIM_CONNECTION_IS_CONNECTED PURPLE_CONNECTION_IS_CONNECTED + +#define gaim_connection_get_account purple_connection_get_account +#define gaim_connection_get_password purple_connection_get_password +#define gaim_connection_get_display_name purple_connection_get_display_name + +#define gaim_connection_update_progress purple_connection_update_progress + +#define gaim_connection_notice purple_connection_notice +#define gaim_connection_error purple_connection_error + +#define gaim_connections_disconnect_all purple_connections_disconnect_all + +#define gaim_connections_get_all purple_connections_get_all +#define gaim_connections_get_connecting purple_connections_get_connecting + +#define GAIM_CONNECTION_IS_VALID PURPLE_CONNECTION_IS_VALID + +#define gaim_connections_set_ui_ops purple_connections_set_ui_ops +#define gaim_connections_get_ui_ops purple_connections_get_ui_ops + +#define gaim_connections_init purple_connections_init +#define gaim_connections_uninit purple_connections_uninit +#define gaim_connections_get_handle purple_connections_get_handle + + +/* from conversation.h */ + +#define GaimConversationUiOps PurpleConversationUiOps +#define GaimConversation PurpleConversation +#define GaimConvIm PurpleConvIm +#define GaimConvChat PurpleConvChat +#define GaimConvChatBuddy PurpleConvChatBuddy + +#define GAIM_CONV_TYPE_UNKNOWN PURPLE_CONV_TYPE_UNKNOWN +#define GAIM_CONV_TYPE_IM PURPLE_CONV_TYPE_IM +#define GAIM_CONV_TYPE_CHAT PURPLE_CONV_TYPE_CHAT +#define GAIM_CONV_TYPE_MISC PURPLE_CONV_TYPE_MISC +#define GAIM_CONV_TYPE_ANY PURPLE_CONV_TYPE_ANY + +#define GaimConversationType PurpleConversationType + +#define GAIM_CONV_UPDATE_ADD PURPLE_CONV_UPDATE_ADD +#define GAIM_CONV_UPDATE_REMOVE PURPLE_CONV_UPDATE_REMOVE +#define GAIM_CONV_UPDATE_ACCOUNT PURPLE_CONV_UPDATE_ACCOUNT +#define GAIM_CONV_UPDATE_TYPING PURPLE_CONV_UPDATE_TYPING +#define GAIM_CONV_UPDATE_UNSEEN PURPLE_CONV_UPDATE_UNSEEN +#define GAIM_CONV_UPDATE_LOGGING PURPLE_CONV_UPDATE_LOGGING +#define GAIM_CONV_UPDATE_TOPIC PURPLE_CONV_UPDATE_TOPIC +#define GAIM_CONV_ACCOUNT_ONLINE PURPLE_CONV_ACCOUNT_ONLINE +#define GAIM_CONV_ACCOUNT_OFFLINE PURPLE_CONV_ACCOUNT_OFFLINE +#define GAIM_CONV_UPDATE_AWAY PURPLE_CONV_UPDATE_AWAY +#define GAIM_CONV_UPDATE_ICON PURPLE_CONV_UPDATE_ICON +#define GAIM_CONV_UPDATE_TITLE PURPLE_CONV_UPDATE_TITLE +#define GAIM_CONV_UPDATE_CHATLEFT PURPLE_CONV_UPDATE_CHATLEFT +#define GAIM_CONV_UPDATE_FEATURES PURPLE_CONV_UPDATE_FEATURES + +#define GaimConvUpdateType PurpleConvUpdateType + +#define GAIM_NOT_TYPING PURPLE_NOT_TYPING +#define GAIM_TYPING PURPLE_TYPING +#define GAIM_TYPED PURPLE_TYPED + +#define GaimTypingState PurpleTypingState + +#define GAIM_MESSAGE_SEND PURPLE_MESSAGE_SEND +#define GAIM_MESSAGE_RECV PURPLE_MESSAGE_RECV +#define GAIM_MESSAGE_SYSTEM PURPLE_MESSAGE_SYSTEM +#define GAIM_MESSAGE_AUTO_RESP PURPLE_MESSAGE_AUTO_RESP +#define GAIM_MESSAGE_ACTIVE_ONLY PURPLE_MESSAGE_ACTIVE_ONLY +#define GAIM_MESSAGE_NICK PURPLE_MESSAGE_NICK +#define GAIM_MESSAGE_NO_LOG PURPLE_MESSAGE_NO_LOG +#define GAIM_MESSAGE_WHISPER PURPLE_MESSAGE_WHISPER +#define GAIM_MESSAGE_ERROR PURPLE_MESSAGE_ERROR +#define GAIM_MESSAGE_DELAYED PURPLE_MESSAGE_DELAYED +#define GAIM_MESSAGE_RAW PURPLE_MESSAGE_RAW +#define GAIM_MESSAGE_IMAGES PURPLE_MESSAGE_IMAGES + +#define GaimMessageFlags PurpleMessageFlags + +#define GAIM_CBFLAGS_NONE PURPLE_CBFLAGS_NONE +#define GAIM_CBFLAGS_VOICE PURPLE_CBFLAGS_VOICE +#define GAIM_CBFLAGS_HALFOP PURPLE_CBFLAGS_HALFOP +#define GAIM_CBFLAGS_OP PURPLE_CBFLAGS_OP +#define GAIM_CBFLAGS_FOUNDER PURPLE_CBFLAGS_FOUNDER +#define GAIM_CBFLAGS_TYPING PURPLE_CBFLAGS_TYPING + +#define GaimConvChatBuddyFlags PurpleConvChatBuddyFlags + +#define gaim_conversations_set_ui_ops purple_conversations_set_ui_ops + +#define gaim_conversation_new purple_conversation_new +#define gaim_conversation_destroy purple_conversation_destroy +#define gaim_conversation_present purple_conversation_present +#define gaim_conversation_get_type purple_conversation_get_type +#define gaim_conversation_set_ui_ops purple_conversation_set_ui_ops +#define gaim_conversation_get_ui_ops purple_conversation_get_ui_ops +#define gaim_conversation_set_account purple_conversation_set_account +#define gaim_conversation_get_account purple_conversation_get_account +#define gaim_conversation_get_gc purple_conversation_get_gc +#define gaim_conversation_set_title purple_conversation_set_title +#define gaim_conversation_get_title purple_conversation_get_title +#define gaim_conversation_autoset_title purple_conversation_autoset_title +#define gaim_conversation_set_name purple_conversation_set_name +#define gaim_conversation_get_name purple_conversation_get_name +#define gaim_conversation_set_logging purple_conversation_set_logging +#define gaim_conversation_is_logging purple_conversation_is_logging +#define gaim_conversation_close_logs purple_conversation_close_logs +#define gaim_conversation_get_im_data purple_conversation_get_im_data + +#define GAIM_CONV_IM PURPLE_CONV_IM + +#define gaim_conversation_get_chat_data purple_conversation_get_chat_data + +#define GAIM_CONV_CHAT PURPLE_CONV_CHAT + +#define gaim_conversation_set_data purple_conversation_set_data +#define gaim_conversation_get_data purple_conversation_get_data + +#define gaim_get_conversations purple_get_conversations +#define gaim_get_ims purple_get_ims +#define gaim_get_chats purple_get_chats + +#define gaim_find_conversation_with_account \ + purple_find_conversation_with_account + +#define gaim_conversation_write purple_conversation_write +#define gaim_conversation_set_features purple_conversation_set_features +#define gaim_conversation_get_features purple_conversation_get_features +#define gaim_conversation_has_focus purple_conversation_has_focus +#define gaim_conversation_update purple_conversation_update +#define gaim_conversation_foreach purple_conversation_foreach + +#define gaim_conv_im_get_conversation purple_conv_im_get_conversation +#define gaim_conv_im_set_icon purple_conv_im_set_icon +#define gaim_conv_im_get_icon purple_conv_im_get_icon +#define gaim_conv_im_set_typing_state purple_conv_im_set_typing_state +#define gaim_conv_im_get_typing_state purple_conv_im_get_typing_state + +#define gaim_conv_im_start_typing_timeout purple_conv_im_start_typing_timeout +#define gaim_conv_im_stop_typing_timeout purple_conv_im_stop_typing_timeout +#define gaim_conv_im_get_typing_timeout purple_conv_im_get_typing_timeout +#define gaim_conv_im_set_type_again purple_conv_im_set_type_again +#define gaim_conv_im_get_type_again purple_conv_im_get_type_again + +#define gaim_conv_im_start_send_typed_timeout \ + purple_conv_im_start_send_typed_timeout + +#define gaim_conv_im_stop_send_typed_timeout \ + purple_conv_im_stop_send_typed_timeout + +#define gaim_conv_im_get_send_typed_timeout \ + purple_conv_im_get_send_typed_timeout + +#define gaim_conv_present_error purple_conv_present_error +#define gaim_conv_send_confirm purple_conv_send_confirm + +#define gaim_conv_im_update_typing purple_conv_im_update_typing +#define gaim_conv_im_write purple_conv_im_write +#define gaim_conv_im_send purple_conv_im_send +#define gaim_conv_im_send_with_flags purple_conv_im_send_with_flags + +#define gaim_conv_custom_smiley_add purple_conv_custom_smiley_add +#define gaim_conv_custom_smiley_write purple_conv_custom_smiley_write +#define gaim_conv_custom_smiley_close purple_conv_custom_smiley_close + +#define gaim_conv_chat_get_conversation purple_conv_chat_get_conversation +#define gaim_conv_chat_set_users purple_conv_chat_set_users +#define gaim_conv_chat_get_users purple_conv_chat_get_users +#define gaim_conv_chat_ignore purple_conv_chat_ignore +#define gaim_conv_chat_unignore purple_conv_chat_unignore +#define gaim_conv_chat_set_ignored purple_conv_chat_set_ignored +#define gaim_conv_chat_get_ignored purple_conv_chat_get_ignored +#define gaim_conv_chat_get_ignored_user purple_conv_chat_get_ignored_user +#define gaim_conv_chat_is_user_ignored purple_conv_chat_is_user_ignored +#define gaim_conv_chat_set_topic purple_conv_chat_set_topic +#define gaim_conv_chat_get_topic purple_conv_chat_get_topic +#define gaim_conv_chat_set_id purple_conv_chat_set_id +#define gaim_conv_chat_get_id purple_conv_chat_get_id +#define gaim_conv_chat_write purple_conv_chat_write +#define gaim_conv_chat_send purple_conv_chat_send +#define gaim_conv_chat_send_with_flags purple_conv_chat_send_with_flags +#define gaim_conv_chat_add_user purple_conv_chat_add_user +#define gaim_conv_chat_add_users purple_conv_chat_add_users +#define gaim_conv_chat_rename_user purple_conv_chat_rename_user +#define gaim_conv_chat_remove_user purple_conv_chat_remove_user +#define gaim_conv_chat_remove_users purple_conv_chat_remove_users +#define gaim_conv_chat_find_user purple_conv_chat_find_user +#define gaim_conv_chat_user_set_flags purple_conv_chat_user_set_flags +#define gaim_conv_chat_user_get_flags purple_conv_chat_user_get_flags +#define gaim_conv_chat_clear_users purple_conv_chat_clear_users +#define gaim_conv_chat_set_nick purple_conv_chat_set_nick +#define gaim_conv_chat_get_nick purple_conv_chat_get_nick +#define gaim_conv_chat_left purple_conv_chat_left +#define gaim_conv_chat_has_left purple_conv_chat_has_left + +#define gaim_find_chat purple_find_chat + +#define gaim_conv_chat_cb_new purple_conv_chat_cb_new +#define gaim_conv_chat_cb_find purple_conv_chat_cb_find +#define gaim_conv_chat_cb_get_name purple_conv_chat_cb_get_name +#define gaim_conv_chat_cb_destroy purple_conv_chat_cb_destroy + +#define gaim_conversations_get_handle purple_conversations_get_handle +#define gaim_conversations_init purple_conversations_init +#define gaim_conversations_uninit purple_conversations_uninit + +/* from core.h */ + +#define GaimCore PurpleCore + +#define GaimCoreUiOps PurpleCoreUiOps + +#define gaim_core_init purple_core_init +#define gaim_core_quit purple_core_quit + +#define gaim_core_quit_cb purple_core_quit_cb +#define gaim_core_get_version purple_core_get_version +#define gaim_core_get_ui purple_core_get_ui +#define gaim_get_core purple_get_core +#define gaim_core_set_ui_ops purple_core_set_ui_ops +#define gaim_core_get_ui_ops purple_core_get_ui_ops + +/* from debug.h */ + +#define GAIM_DEBUG_ALL PURPLE_DEBUG_ALL +#define GAIM_DEBUG_MISC PURPLE_DEBUG_MISC +#define GAIM_DEBUG_INFO PURPLE_DEBUG_INFO +#define GAIM_DEBUG_WARNING PURPLE_DEBUG_WARNING +#define GAIM_DEBUG_ERROR PURPLE_DEBUG_ERROR +#define GAIM_DEBUG_FATAL PURPLE_DEBUG_FATAL + +#define GaimDebugLevel PurpleDebugLevel + +#define GaimDebugUiOps PurpleDebugUiOps + + +#define gaim_debug purple_debug +#define gaim_debug_misc purple_debug_misc +#define gaim_debug_info purple_debug_info +#define gaim_debug_warning purple_debug_warning +#define gaim_debug_error purple_debug_error +#define gaim_debug_fatal purple_debug_fatal + +#define gaim_debug_set_enabled purple_debug_set_enabled +#define gaim_debug_is_enabled purple_debug_is_enabled + +#define gaim_debug_set_ui_ops purple_debug_set_ui_ops +#define gaim_debug_get_ui_ops purple_debug_get_ui_ops + +#define gaim_debug_init purple_debug_init + +/* from desktopitem.h */ + +#define GAIM_DESKTOP_ITEM_TYPE_NULL PURPLE_DESKTOP_ITEM_TYPE_NULL +#define GAIM_DESKTOP_ITEM_TYPE_OTHER PURPLE_DESKTOP_ITEM_TYPE_OTHER +#define GAIM_DESKTOP_ITEM_TYPE_APPLICATION PURPLE_DESKTOP_ITEM_TYPE_APPLICATION +#define GAIM_DESKTOP_ITEM_TYPE_LINK PURPLE_DESKTOP_ITEM_TYPE_LINK +#define GAIM_DESKTOP_ITEM_TYPE_FSDEVICE PURPLE_DESKTOP_ITEM_TYPE_FSDEVICE +#define GAIM_DESKTOP_ITEM_TYPE_MIME_TYPE PURPLE_DESKTOP_ITEM_TYPE_MIME_TYPE +#define GAIM_DESKTOP_ITEM_TYPE_DIRECTORY PURPLE_DESKTOP_ITEM_TYPE_DIRECTORY +#define GAIM_DESKTOP_ITEM_TYPE_SERVICE PURPLE_DESKTOP_ITEM_TYPE_SERVICE +#define GAIM_DESKTOP_ITEM_TYPE_SERVICE_TYPE PURPLE_DESKTOP_ITEM_TYPE_SERVICE_TYPE + +#define GaimDesktopItemType PurpleDesktopItemType + +#define GaimDesktopItem PurpleDesktopItem + +#define GAIM_TYPE_DESKTOP_ITEM PURPLE_TYPE_DESKTOP_ITEM +#define gaim_desktop_item_get_type purple_desktop_item_get_type + +/* standard */ +/* ugh, i'm just copying these as strings, rather than pidginifying them */ +#define GAIM_DESKTOP_ITEM_ENCODING "Encoding" /* string */ +#define GAIM_DESKTOP_ITEM_VERSION "Version" /* numeric */ +#define GAIM_DESKTOP_ITEM_NAME "Name" /* localestring */ +#define GAIM_DESKTOP_ITEM_GENERIC_NAME "GenericName" /* localestring */ +#define GAIM_DESKTOP_ITEM_TYPE "Type" /* string */ +#define GAIM_DESKTOP_ITEM_FILE_PATTERN "FilePattern" /* regexp(s) */ +#define GAIM_DESKTOP_ITEM_TRY_EXEC "TryExec" /* string */ +#define GAIM_DESKTOP_ITEM_NO_DISPLAY "NoDisplay" /* boolean */ +#define GAIM_DESKTOP_ITEM_COMMENT "Comment" /* localestring */ +#define GAIM_DESKTOP_ITEM_EXEC "Exec" /* string */ +#define GAIM_DESKTOP_ITEM_ACTIONS "Actions" /* strings */ +#define GAIM_DESKTOP_ITEM_ICON "Icon" /* string */ +#define GAIM_DESKTOP_ITEM_MINI_ICON "MiniIcon" /* string */ +#define GAIM_DESKTOP_ITEM_HIDDEN "Hidden" /* boolean */ +#define GAIM_DESKTOP_ITEM_PATH "Path" /* string */ +#define GAIM_DESKTOP_ITEM_TERMINAL "Terminal" /* boolean */ +#define GAIM_DESKTOP_ITEM_TERMINAL_OPTIONS "TerminalOptions" /* string */ +#define GAIM_DESKTOP_ITEM_SWALLOW_TITLE "SwallowTitle" /* string */ +#define GAIM_DESKTOP_ITEM_SWALLOW_EXEC "SwallowExec" /* string */ +#define GAIM_DESKTOP_ITEM_MIME_TYPE "MimeType" /* regexp(s) */ +#define GAIM_DESKTOP_ITEM_PATTERNS "Patterns" /* regexp(s) */ +#define GAIM_DESKTOP_ITEM_DEFAULT_APP "DefaultApp" /* string */ +#define GAIM_DESKTOP_ITEM_DEV "Dev" /* string */ +#define GAIM_DESKTOP_ITEM_FS_TYPE "FSType" /* string */ +#define GAIM_DESKTOP_ITEM_MOUNT_POINT "MountPoint" /* string */ +#define GAIM_DESKTOP_ITEM_READ_ONLY "ReadOnly" /* boolean */ +#define GAIM_DESKTOP_ITEM_UNMOUNT_ICON "UnmountIcon" /* string */ +#define GAIM_DESKTOP_ITEM_SORT_ORDER "SortOrder" /* strings */ +#define GAIM_DESKTOP_ITEM_URL "URL" /* string */ +#define GAIM_DESKTOP_ITEM_DOC_PATH "X-GNOME-DocPath" /* string */ + +#define gaim_desktop_item_new_from_file purple_desktop_item_new_from_file +#define gaim_desktop_item_get_entry_type purple_desktop_item_get_entry_type +#define gaim_desktop_item_get_string purple_desktop_item_get_string +#define gaim_desktop_item_copy purple_desktop_item_copy +#define gaim_desktop_item_unref purple_desktop_item_unref + +/* from dnsquery.h */ + +#define GaimDnsQueryData PurpleDnsQueryData +#define GaimDnsQueryConnectFunction PurpleDnsQueryConnectFunction + +#define gaim_dnsquery_a purple_dnsquery_a +#define gaim_dnsquery_destroy purple_dnsquery_destroy +#define gaim_dnsquery_init purple_dnsquery_init +#define gaim_dnsquery_uninit purple_dnsquery_uninit + +/* from dnssrv.h */ + +#define GaimSrvResponse PurpleSrvResponse +#define GaimSrvQueryData PurpleSrvQueryData +#define GaimSrvCallback PurpleSrvCallback + +#define gaim_srv_resolve purple_srv_resolve +#define gaim_srv_cancel purple_srv_cancel + +/* from eventloop.h */ + +#define GAIM_INPUT_READ PURPLE_INPUT_READ +#define GAIM_INPUT_WRITE PURPLE_INPUT_WRITE + +#define GaimInputCondition PurpleInputCondition +#define GaimInputFunction PurpleInputFunction +#define GaimEventLoopUiOps PurpleEventLoopUiOps + +#define gaim_timeout_add purple_timeout_add +#define gaim_timeout_remove purple_timeout_remove +#define gaim_input_add purple_input_add +#define gaim_input_remove purple_input_remove + +#define gaim_eventloop_set_ui_ops purple_eventloop_set_ui_ops +#define gaim_eventloop_get_ui_ops purple_eventloop_get_ui_ops + +/* from ft.h */ + +#define GaimXfer PurpleXfer + +#define GAIM_XFER_UNKNOWN PURPLE_XFER_UNKNOWN +#define GAIM_XFER_SEND PURPLE_XFER_SEND +#define GAIM_XFER_RECEIVE PURPLE_XFER_RECEIVE + +#define GaimXferType PurpleXferType + +#define GAIM_XFER_STATUS_UNKNOWN PURPLE_XFER_STATUS_UNKNOWN +#define GAIM_XFER_STATUS_NOT_STARTED PURPLE_XFER_STATUS_NOT_STARTED +#define GAIM_XFER_STATUS_ACCEPTED PURPLE_XFER_STATUS_ACCEPTED +#define GAIM_XFER_STATUS_STARTED PURPLE_XFER_STATUS_STARTED +#define GAIM_XFER_STATUS_DONE PURPLE_XFER_STATUS_DONE +#define GAIM_XFER_STATUS_CANCEL_LOCAL PURPLE_XFER_STATUS_CANCEL_LOCAL +#define GAIM_XFER_STATUS_CANCEL_REMOTE PURPLE_XFER_STATUS_CANCEL_REMOTE + +#define GaimXferStatusType PurpleXferStatusType + +#define GaimXferUiOps PurpleXferUiOps + +#define gaim_xfer_new purple_xfer_new +#define gaim_xfer_ref purple_xfer_ref +#define gaim_xfer_unref purple_xfer_unref +#define gaim_xfer_request purple_xfer_request +#define gaim_xfer_request_accepted purple_xfer_request_accepted +#define gaim_xfer_request_denied purple_xfer_request_denied +#define gaim_xfer_get_type purple_xfer_get_type +#define gaim_xfer_get_account purple_xfer_get_account +#define gaim_xfer_get_status purple_xfer_get_status +#define gaim_xfer_is_canceled purple_xfer_is_canceled +#define gaim_xfer_is_completed purple_xfer_is_completed +#define gaim_xfer_get_filename purple_xfer_get_filename +#define gaim_xfer_get_local_filename purple_xfer_get_local_filename +#define gaim_xfer_get_bytes_sent purple_xfer_get_bytes_sent +#define gaim_xfer_get_bytes_remaining purple_xfer_get_bytes_remaining +#define gaim_xfer_get_size purple_xfer_get_size +#define gaim_xfer_get_progress purple_xfer_get_progress +#define gaim_xfer_get_local_port purple_xfer_get_local_port +#define gaim_xfer_get_remote_ip purple_xfer_get_remote_ip +#define gaim_xfer_get_remote_port purple_xfer_get_remote_port +#define gaim_xfer_set_completed purple_xfer_set_completed +#define gaim_xfer_set_message purple_xfer_set_message +#define gaim_xfer_set_filename purple_xfer_set_filename +#define gaim_xfer_set_local_filename purple_xfer_set_local_filename +#define gaim_xfer_set_size purple_xfer_set_size +#define gaim_xfer_set_bytes_sent purple_xfer_set_bytes_sent +#define gaim_xfer_get_ui_ops purple_xfer_get_ui_ops +#define gaim_xfer_set_read_fnc purple_xfer_set_read_fnc +#define gaim_xfer_set_write_fnc purple_xfer_set_write_fnc +#define gaim_xfer_set_ack_fnc purple_xfer_set_ack_fnc +#define gaim_xfer_set_request_denied_fnc purple_xfer_set_request_denied_fnc +#define gaim_xfer_set_init_fnc purple_xfer_set_init_fnc +#define gaim_xfer_set_start_fnc purple_xfer_set_start_fnc +#define gaim_xfer_set_end_fnc purple_xfer_set_end_fnc +#define gaim_xfer_set_cancel_send_fnc purple_xfer_set_cancel_send_fnc +#define gaim_xfer_set_cancel_recv_fnc purple_xfer_set_cancel_recv_fnc + +#define gaim_xfer_read purple_xfer_read +#define gaim_xfer_write purple_xfer_write +#define gaim_xfer_start purple_xfer_start +#define gaim_xfer_end purple_xfer_end +#define gaim_xfer_add purple_xfer_add +#define gaim_xfer_cancel_local purple_xfer_cancel_local +#define gaim_xfer_cancel_remote purple_xfer_cancel_remote +#define gaim_xfer_error purple_xfer_error +#define gaim_xfer_update_progress purple_xfer_update_progress +#define gaim_xfer_conversation_write purple_xfer_conversation_write + +#define gaim_xfers_get_handle purple_xfers_get_handle +#define gaim_xfers_init purple_xfers_init +#define gaim_xfers_uninit purple_xfers_uninit +#define gaim_xfers_set_ui_ops purple_xfers_set_ui_ops +#define gaim_xfers_get_ui_ops purple_xfers_get_ui_ops + #endif /* _GAIM_COMPAT_H_ */ diff -r 154b8d8643a2 -r c68f2808f703 libpurple/network.c --- a/libpurple/network.c Sun Jan 28 21:40:07 2007 +0000 +++ b/libpurple/network.c Sun Jan 28 21:40:32 2007 +0000 @@ -74,6 +74,7 @@ gboolean adding; GaimNetworkListenCallback cb; gpointer cb_data; + UPnPMappingAddRemove *mapping_data; }; #ifdef HAVE_LIBNM @@ -210,28 +211,29 @@ if (listen_data->retry) { listen_data->retry = FALSE; listen_data->adding = FALSE; - /* TODO: Need to keep track of this return value! */ - gaim_upnp_remove_port_mapping( - gaim_network_get_port_from_fd(listen_data->listenfd), - (listen_data->socket_type == SOCK_STREAM) ? "TCP" : "UDP", - gaim_network_set_upnp_port_mapping_cb, listen_data); + listen_data->mapping_data = gaim_upnp_remove_port_mapping( + gaim_network_get_port_from_fd(listen_data->listenfd), + (listen_data->socket_type == SOCK_STREAM) ? "TCP" : "UDP", + gaim_network_set_upnp_port_mapping_cb, listen_data); return; } } else if (!listen_data->adding) { /* We've tried successfully to remove the port mapping. * Try to add it again */ listen_data->adding = TRUE; - /* TODO: Need to keep track of this return value! */ - gaim_upnp_set_port_mapping( - gaim_network_get_port_from_fd(listen_data->listenfd), - (listen_data->socket_type == SOCK_STREAM) ? "TCP" : "UDP", - gaim_network_set_upnp_port_mapping_cb, listen_data); + listen_data->mapping_data = gaim_upnp_set_port_mapping( + gaim_network_get_port_from_fd(listen_data->listenfd), + (listen_data->socket_type == SOCK_STREAM) ? "TCP" : "UDP", + gaim_network_set_upnp_port_mapping_cb, listen_data); return; } if (listen_data->cb) listen_data->cb(listen_data->listenfd, listen_data->cb_data); + /* Clear the UPnP mapping data, since it's complete and gaim_netweork_listen_cancel() will try to cancel + * it otherwise. */ + listen_data->mapping_data = NULL; gaim_network_listen_cancel(listen_data); } @@ -327,11 +329,10 @@ listen_data->cb = cb; listen_data->cb_data = cb_data; - /* TODO: Need to keep track of this return value! */ - gaim_upnp_set_port_mapping( - gaim_network_get_port_from_fd(listenfd), - (socket_type == SOCK_STREAM) ? "TCP" : "UDP", - gaim_network_set_upnp_port_mapping_cb, listen_data); + listen_data->mapping_data = gaim_upnp_set_port_mapping( + gaim_network_get_port_from_fd(listenfd), + (socket_type == SOCK_STREAM) ? "TCP" : "UDP", + gaim_network_set_upnp_port_mapping_cb, listen_data); return listen_data; } @@ -370,6 +371,9 @@ void gaim_network_listen_cancel(GaimNetworkListenData *listen_data) { + if (listen_data->mapping_data != NULL) + gaim_upnp_cancel_port_mapping(listen_data->mapping_data); + g_free(listen_data); } diff -r 154b8d8643a2 -r c68f2808f703 libpurple/protocols/irc/irc.h --- a/libpurple/protocols/irc/irc.h Sun Jan 28 21:40:07 2007 +0000 +++ b/libpurple/protocols/irc/irc.h Sun Jan 28 21:40:32 2007 +0000 @@ -115,7 +115,6 @@ void irc_msg_banned(struct irc_conn *irc, const char *name, const char *from, char **args); void irc_msg_chanmode(struct irc_conn *irc, const char *name, const char *from, char **args); void irc_msg_endwhois(struct irc_conn *irc, const char *name, const char *from, char **args); -void irc_msg_endmotd(struct irc_conn *irc, const char *name, const char *from, char **args); void irc_msg_features(struct irc_conn *irc, const char *name, const char *from, char **args); void irc_msg_invite(struct irc_conn *irc, const char *name, const char *from, char **args); void irc_msg_inviteonly(struct irc_conn *irc, const char *name, const char *from, char **args); @@ -123,6 +122,7 @@ void irc_msg_join(struct irc_conn *irc, const char *name, const char *from, char **args); void irc_msg_kick(struct irc_conn *irc, const char *name, const char *from, char **args); void irc_msg_list(struct irc_conn *irc, const char *name, const char *from, char **args); +void irc_msg_luser(struct irc_conn *irc, const char *name, const char *from, char **args); void irc_msg_mode(struct irc_conn *irc, const char *name, const char *from, char **args); void irc_msg_motd(struct irc_conn *irc, const char *name, const char *from, char **args); void irc_msg_names(struct irc_conn *irc, const char *name, const char *from, char **args); diff -r 154b8d8643a2 -r c68f2808f703 libpurple/protocols/irc/msgs.c --- a/libpurple/protocols/irc/msgs.c Sun Jan 28 21:40:07 2007 +0000 +++ b/libpurple/protocols/irc/msgs.c Sun Jan 28 21:40:32 2007 +0000 @@ -95,6 +95,59 @@ } } +void irc_msg_luser(struct irc_conn *irc, const char *name, const char *from, char **args) +{ + GaimConnection *gc; + GaimStatus *status; + GaimBlistNode *gnode, *cnode, *bnode; + + if (!args || !args[0] || !args[1]) + return; + + gc = gaim_account_get_connection(irc->account); + if (!gc) + return; + + if (!strcmp(name, "251")) { + /* 251 is required, so we pluck our nick from here */ + gaim_connection_set_display_name(gc, args[0]); + } else if (!strcmp(name, "255")) { + gaim_connection_set_state(gc, GAIM_CONNECTED); + + /* If we're away then set our away message */ + status = gaim_account_get_active_status(irc->account); + if (!gaim_status_get_type(status) != GAIM_STATUS_AVAILABLE) { + GaimPluginProtocolInfo *prpl_info = GAIM_PLUGIN_PROTOCOL_INFO(gc->prpl); + prpl_info->set_status(irc->account, status); + } + + /* this used to be in the core, but it's not now */ + for (gnode = gaim_get_blist()->root; gnode; gnode = gnode->next) { + if(!GAIM_BLIST_NODE_IS_GROUP(gnode)) + continue; + for(cnode = gnode->child; cnode; cnode = cnode->next) { + if(!GAIM_BLIST_NODE_IS_CONTACT(cnode)) + continue; + for(bnode = cnode->child; bnode; bnode = bnode->next) { + GaimBuddy *b; + if(!GAIM_BLIST_NODE_IS_BUDDY(bnode)) + continue; + b = (GaimBuddy *)bnode; + if(b->account == gc->account) { + struct irc_buddy *ib = g_new0(struct irc_buddy, 1); + ib->name = g_strdup(b->name); + g_hash_table_insert(irc->buddies, ib->name, ib); + } + } + } + } + + irc_blist_timeout(irc); + if (!irc->timer) + irc->timer = gaim_timeout_add(45000, (GSourceFunc)irc_blist_timeout, (gpointer)irc); + } +} + void irc_msg_away(struct irc_conn *irc, const char *name, const char *from, char **args) { GaimConnection *gc; @@ -465,68 +518,31 @@ void irc_msg_motd(struct irc_conn *irc, const char *name, const char *from, char **args) { - GaimConnection *gc; char *escaped; - if (!strcmp(name, "375")) { - gc = gaim_account_get_connection(irc->account); - if (gc) - gaim_connection_set_display_name(gc, args[0]); - } if (!irc->motd) irc->motd = g_string_new(""); + if (!strcmp(name, "375")) { + if (irc->motd) + g_string_free(irc->motd, TRUE); + irc->motd = g_string_new(""); + return; + } else if (!strcmp(name, "376")) { + /* We no longer have to do anything for ENDMOTD */ + return; + } + + if (!irc->motd) { + gaim_debug_error("irc", "IRC server sent MOTD without STARTMOTD\n"); + return; + } + escaped = g_markup_escape_text(args[1], -1); g_string_append_printf(irc->motd, "%s
", escaped); g_free(escaped); } -void irc_msg_endmotd(struct irc_conn *irc, const char *name, const char *from, char **args) -{ - GaimConnection *gc; - GaimStatus *status; - GaimBlistNode *gnode, *cnode, *bnode; - - gc = gaim_account_get_connection(irc->account); - if (!gc) - return; - - gaim_connection_set_state(gc, GAIM_CONNECTED); - - /* If we're away then set our away message */ - status = gaim_account_get_active_status(irc->account); - if (!gaim_status_get_type(status) != GAIM_STATUS_AVAILABLE) - { - GaimPluginProtocolInfo *prpl_info = GAIM_PLUGIN_PROTOCOL_INFO(gc->prpl); - prpl_info->set_status(irc->account, status); - } - - /* this used to be in the core, but it's not now */ - for (gnode = gaim_get_blist()->root; gnode; gnode = gnode->next) { - if(!GAIM_BLIST_NODE_IS_GROUP(gnode)) - continue; - for(cnode = gnode->child; cnode; cnode = cnode->next) { - if(!GAIM_BLIST_NODE_IS_CONTACT(cnode)) - continue; - for(bnode = cnode->child; bnode; bnode = bnode->next) { - GaimBuddy *b; - if(!GAIM_BLIST_NODE_IS_BUDDY(bnode)) - continue; - b = (GaimBuddy *)bnode; - if(b->account == gc->account) { - struct irc_buddy *ib = g_new0(struct irc_buddy, 1); - ib->name = g_strdup(b->name); - g_hash_table_insert(irc->buddies, ib->name, ib); - } - } - } - } - - irc_blist_timeout(irc); - if (!irc->timer) - irc->timer = gaim_timeout_add(45000, (GSourceFunc)irc_blist_timeout, (gpointer)irc); -} - void irc_msg_time(struct irc_conn *irc, const char *name, const char *from, char **args) { GaimConnection *gc; diff -r 154b8d8643a2 -r c68f2808f703 libpurple/protocols/irc/parse.c --- a/libpurple/protocols/irc/parse.c Sun Jan 28 21:40:07 2007 +0000 +++ b/libpurple/protocols/irc/parse.c Sun Jan 28 21:40:32 2007 +0000 @@ -53,6 +53,8 @@ void (*cb)(struct irc_conn *irc, const char *name, const char *from, char **args); } _irc_msgs[] = { { "005", "n*", irc_msg_features }, /* Feature list */ + { "251", "n:", irc_msg_luser }, /* Client & Server count */ + { "255", "n:", irc_msg_luser }, /* Client & Server count Mk. II */ { "301", "nn:", irc_msg_away }, /* User is away */ { "303", "n:", irc_msg_ison }, /* ISON reply */ { "311", "nnvvv:", irc_msg_whois }, /* Whois user */ @@ -73,13 +75,12 @@ { "366", "nc:", irc_msg_names }, /* End of names */ { "372", "n:", irc_msg_motd }, /* MOTD */ { "375", "n:", irc_msg_motd }, /* Start MOTD */ - { "376", "n:", irc_msg_endmotd }, /* End of MOTD */ + { "376", "n:", irc_msg_motd }, /* End of MOTD */ { "391", "nv:", irc_msg_time }, /* Time reply */ { "401", "nt:", irc_msg_nonick }, /* No such nick/chan */ { "403", "nc:", irc_msg_nochan }, /* No such channel */ { "404", "nt:", irc_msg_nosend }, /* Cannot send to chan */ { "421", "nv:", irc_msg_unknown }, /* Unknown command */ - { "422", "nv:", irc_msg_endmotd }, /* No MOTD available */ { "432", "vn:", irc_msg_badnick }, /* Erroneous nickname */ { "433", "vn:", irc_msg_nickused }, /* Nickname already in use */ { "437", "nc:", irc_msg_unavailable }, /* Nick/channel is unavailable */ diff -r 154b8d8643a2 -r c68f2808f703 libpurple/tests/Makefile.am --- a/libpurple/tests/Makefile.am Sun Jan 28 21:40:07 2007 +0000 +++ b/libpurple/tests/Makefile.am Sun Jan 28 21:40:32 2007 +0000 @@ -9,7 +9,7 @@ test_cipher.c \ test_jabber_jutil.c \ test_util.c \ - $(top_builddir)/libgaim/util.h + $(top_builddir)/libpurple/util.h check_libgaim_CFLAGS=\ @CHECK_CFLAGS@ \ @@ -20,7 +20,7 @@ check_libgaim_LDADD=\ @CHECK_LIBS@ \ $(GLIB_LIBS) \ - $(top_builddir)/libgaim/protocols/jabber/libjabber.la \ - $(top_builddir)/libgaim/libgaim.la + $(top_builddir)/libpurple/protocols/jabber/libjabber.la \ + $(top_builddir)/libpurple/libgaim.la endif diff -r 154b8d8643a2 -r c68f2808f703 libpurple/upnp.c --- a/libpurple/upnp.c Sun Jan 28 21:40:07 2007 +0000 +++ b/libpurple/upnp.c Sun Jan 28 21:40:32 2007 +0000 @@ -131,13 +131,16 @@ gchar *full_url; } UPnPDiscoveryData; -typedef struct { +struct _UPnPMappingAddRemove +{ unsigned short portmap; gchar protocol[4]; gboolean add; GaimUPnPCallback cb; gpointer cb_data; -} UPnPMappingAddRemove; + guint tima; /* gaim_timeout_add handle */ + GaimUtilFetchUrlData *gfud; +}; static GaimUPnPControlInfo control_info = { GAIM_UPNP_STATUS_UNDISCOVERED, @@ -666,12 +669,12 @@ gaim_upnp_discover_send_broadcast(dd); } -static void +static GaimUtilFetchUrlData* gaim_upnp_generate_action_message_and_send(const gchar* actionName, const gchar* actionParams, GaimUtilFetchUrlCallback cb, gpointer cb_data) { - + GaimUtilFetchUrlData* gfud; gchar* soapMessage; gchar* totalSendMessage; gchar* pathOfControl; @@ -703,11 +706,13 @@ g_free(pathOfControl); g_free(soapMessage); - gaim_util_fetch_url_request(control_info.control_url, FALSE, NULL, TRUE, - totalSendMessage, TRUE, cb, cb_data); + gfud = gaim_util_fetch_url_request(control_info.control_url, FALSE, NULL, TRUE, + totalSendMessage, TRUE, cb, cb_data); g_free(totalSendMessage); g_free(addressOfControl); + + return gfud; } const gchar * @@ -884,8 +889,8 @@ ar->portmap, ar->protocol); } - gaim_upnp_generate_action_message_and_send(action_name, - action_params, done_port_mapping_cb, ar); + ar->gfud = gaim_upnp_generate_action_message_and_send(action_name, + action_params, done_port_mapping_cb, ar); g_free(action_params); return; @@ -904,7 +909,33 @@ return FALSE; } -void +void gaim_upnp_cancel_port_mapping(UPnPMappingAddRemove *ar) +{ + GSList *l; + + /* Remove ar from discovery_callbacks if present; it was inserted after a cb. + * The same cb may be in the list multple times, so be careful to remove the one assocaited with ar. */ + l = discovery_callbacks; + while (l) + { + if (l->next && (l->next->data == ar)) { + discovery_callbacks = g_slist_delete_link(discovery_callbacks, l->next); + discovery_callbacks = g_slist_delete_link(discovery_callbacks, l); + } + + l = l->next; + } + + if (ar->tima > 0) + gaim_timeout_remove(ar->tima); + + if (ar->gfud) + gaim_util_fetch_url_cancel(ar->gfud); + + g_free(ar); +} + +UPnPMappingAddRemove * gaim_upnp_set_port_mapping(unsigned short portmap, const gchar* protocol, GaimUPnPCallback cb, gpointer cb_data) { @@ -925,7 +956,7 @@ discovery_callbacks, do_port_mapping_cb); discovery_callbacks = g_slist_append( discovery_callbacks, ar); - return; + return ar; } /* If we haven't had a successful UPnP discovery, check if 5 minutes has @@ -934,22 +965,24 @@ (control_info.status == GAIM_UPNP_STATUS_UNABLE_TO_DISCOVER && (time(NULL) - control_info.lookup_time) > 300)) { gaim_upnp_discover(do_port_mapping_cb, ar); - return; + return ar; } else if(control_info.status == GAIM_UPNP_STATUS_UNABLE_TO_DISCOVER) { if (cb) { /* Asynchronously trigger a failed response */ - gaim_timeout_add(10, fire_port_mapping_failure_cb, ar); + ar->tima = gaim_timeout_add(10, fire_port_mapping_failure_cb, ar); } else { /* No need to do anything if nobody expects a response*/ g_free(ar); + ar = NULL; } - return; + return ar; } do_port_mapping_cb(TRUE, ar); + return ar; } -void +UPnPMappingAddRemove * gaim_upnp_remove_port_mapping(unsigned short portmap, const char* protocol, GaimUPnPCallback cb, gpointer cb_data) { @@ -968,7 +1001,7 @@ discovery_callbacks, do_port_mapping_cb); discovery_callbacks = g_slist_append( discovery_callbacks, ar); - return; + return ar; } /* If we haven't had a successful UPnP discovery, check if 5 minutes has @@ -977,17 +1010,19 @@ (control_info.status == GAIM_UPNP_STATUS_UNABLE_TO_DISCOVER && (time(NULL) - control_info.lookup_time) > 300)) { gaim_upnp_discover(do_port_mapping_cb, ar); - return; + return ar; } else if(control_info.status == GAIM_UPNP_STATUS_UNABLE_TO_DISCOVER) { if (cb) { /* Asynchronously trigger a failed response */ - gaim_timeout_add(10, fire_port_mapping_failure_cb, ar); + ar->tima = gaim_timeout_add(10, fire_port_mapping_failure_cb, ar); } else { /* No need to do anything if nobody expects a response*/ g_free(ar); + ar = NULL; } - return; + return ar; } do_port_mapping_cb(TRUE, ar); + return ar; } diff -r 154b8d8643a2 -r c68f2808f703 libpurple/upnp.h --- a/libpurple/upnp.h Sun Jan 28 21:40:07 2007 +0000 +++ b/libpurple/upnp.h Sun Jan 28 21:40:32 2007 +0000 @@ -26,6 +26,7 @@ #ifndef _GAIM_UPNP_H_ #define _GAIM_UPNP_H_ +typedef struct _UPnPMappingAddRemove UPnPMappingAddRemove; #ifdef __cplusplus extern "C" { @@ -74,6 +75,14 @@ const gchar* gaim_upnp_get_public_ip(void); /** + * Cancel a pending port mapping request initiated with either + * gaim_upnp_set_port_mapping() or gaim_upnp_remove_port_mapping(). + * + * @param mapping_data The data returned when you initiated the UPnP mapping request. + */ +void gaim_upnp_cancel_port_mapping(UPnPMappingAddRemove *mapping_data); + +/** * Maps Ports in a UPnP enabled IGD that sits on the local network to * this gaim client. Essentially, this function takes care of the port * forwarding so things like file transfers can work behind NAT firewalls @@ -83,8 +92,10 @@ * @param cb an optional callback function to be notified when the mapping * addition is complete * @param cb_data Extra data to be passed to the callback + * + * @return Data which can be passed to gaim_upnp_port_mapping_cancel() to cancel */ -void gaim_upnp_set_port_mapping(unsigned short portmap, const gchar* protocol, +UPnPMappingAddRemove *gaim_upnp_set_port_mapping(unsigned short portmap, const gchar* protocol, GaimUPnPCallback cb, gpointer cb_data); /** @@ -98,8 +109,10 @@ * @param cb an optional callback function to be notified when the mapping * removal is complete * @param cb_data Extra data to be passed to the callback + * + * @return Data which can be passed to gaim_upnp_port_mapping_cancel() to cancel */ -void gaim_upnp_remove_port_mapping(unsigned short portmap, +UPnPMappingAddRemove *gaim_upnp_remove_port_mapping(unsigned short portmap, const gchar* protocol, GaimUPnPCallback cb, gpointer cb_data); /*@}*/ diff -r 154b8d8643a2 -r c68f2808f703 pidgin/Makefile.am --- a/pidgin/Makefile.am Sun Jan 28 21:40:07 2007 +0000 +++ b/pidgin/Makefile.am Sun Jan 28 21:40:32 2007 +0000 @@ -8,15 +8,15 @@ win32/IdleTracker/idletrack.h \ win32/MinimizeToTray.h \ win32/MinimizeToTray.c \ - win32/gaimrc.rc.in \ + win32/pidgin_dll_rc.rc.in \ + win32/pidgin_exe_rc.rc.in \ win32/gtkdocklet-win32.c \ - win32/gtkgaimrc.rc.in \ win32/gtkwin32dep.c \ win32/gtkwin32dep.h \ win32/resource.h \ win32/untar.c \ win32/untar.h \ - win32/win_gaim.c \ + win32/winpidgin.c \ win32/wspell.c \ win32/wspell.h \ win32/nsis/gaim-header.bmp \ diff -r 154b8d8643a2 -r c68f2808f703 pidgin/gtkblist.c --- a/pidgin/gtkblist.c Sun Jan 28 21:40:07 2007 +0000 +++ b/pidgin/gtkblist.c Sun Jan 28 21:40:32 2007 +0000 @@ -2217,38 +2217,38 @@ #define LARGE_SPACE 12 #define PRPL_SIZE 22 struct tooltip_data { - PangoLayout *layout; + PangoLayout *layout; PangoLayout *name_layout; GdkPixbuf *prpl_icon; - GdkPixbuf *status_icon; - GdkPixbuf *avatar; - gboolean avatar_is_prpl_icon; + GdkPixbuf *status_icon; + GdkPixbuf *avatar; + gboolean avatar_is_prpl_icon; int avatar_width; - int avatar_height; + int avatar_height; int name_height; int name_width; - int width; - int height; + int width; + int height; }; static struct tooltip_data * create_tip_for_node(GaimBlistNode *node, gboolean full) { - char *tooltip_text = NULL; - struct tooltip_data *td = g_new0(struct tooltip_data, 1); - GaimAccount *account = NULL; + char *tooltip_text = NULL; + struct tooltip_data *td = g_new0(struct tooltip_data, 1); + GaimAccount *account = NULL; char *tmp, *node_name; - if(GAIM_BLIST_NODE_IS_BUDDY(node)) { - account = ((GaimBuddy*)(node))->account; - } else if(GAIM_BLIST_NODE_IS_CHAT(node)) { - account = ((GaimChat*)(node))->account; - } - - td->status_icon = gaim_gtk_blist_get_status_icon(node, GAIM_STATUS_ICON_LARGE); - td->avatar = gaim_gtk_blist_get_buddy_icon(node, !full, FALSE, TRUE); + if(GAIM_BLIST_NODE_IS_BUDDY(node)) { + account = ((GaimBuddy*)(node))->account; + } else if(GAIM_BLIST_NODE_IS_CHAT(node)) { + account = ((GaimChat*)(node))->account; + } + + td->status_icon = gaim_gtk_blist_get_status_icon(node, GAIM_STATUS_ICON_LARGE); + td->avatar = gaim_gtk_blist_get_buddy_icon(node, !full, FALSE, TRUE); td->prpl_icon = gaim_gtk_create_prpl_icon(account, PIDGIN_PRPL_ICON_MEDIUM); - tooltip_text = gaim_get_tooltip_text(node, full); - td->layout = gtk_widget_create_pango_layout(gtkblist->tipwindow, NULL); + tooltip_text = gaim_get_tooltip_text(node, full); + td->layout = gtk_widget_create_pango_layout(gtkblist->tipwindow, NULL); td->name_layout = gtk_widget_create_pango_layout(gtkblist->tipwindow, NULL); if (GAIM_BLIST_NODE_IS_BUDDY(node)) @@ -2257,102 +2257,101 @@ tmp = g_markup_escape_text(gaim_chat_get_name((GaimChat*)node), -1); node_name = g_strdup_printf("%s", tmp); - pango_layout_set_markup(td->layout, tooltip_text, -1); - pango_layout_set_wrap(td->layout, PANGO_WRAP_WORD); - pango_layout_set_width(td->layout, 300000); - + pango_layout_set_markup(td->layout, tooltip_text, -1); + pango_layout_set_wrap(td->layout, PANGO_WRAP_WORD); + pango_layout_set_width(td->layout, 300000); + pango_layout_get_size (td->layout, &td->width, &td->height); td->width = PANGO_PIXELS(td->width); - td->height = PANGO_PIXELS(td->height); + td->height = PANGO_PIXELS(td->height); pango_layout_set_markup(td->name_layout, node_name, -1); pango_layout_set_wrap(td->name_layout, PANGO_WRAP_WORD); pango_layout_set_width(td->name_layout, 300000); pango_layout_get_size (td->name_layout, &td->name_width, &td->name_height); - td->name_width = PANGO_PIXELS(td->name_width) + SMALL_SPACE + PRPL_SIZE; + td->name_width = PANGO_PIXELS(td->name_width) + SMALL_SPACE + PRPL_SIZE; td->name_height = MAX(PANGO_PIXELS(td->name_height), PRPL_SIZE + SMALL_SPACE); - - if(!td->avatar && full) { + + if(!td->avatar && full) { td->avatar = gaim_gtk_create_prpl_icon(account, PIDGIN_PRPL_ICON_LARGE); td->avatar_is_prpl_icon = TRUE; } - td->avatar_width = gdk_pixbuf_get_width(td->avatar); + td->avatar_width = gdk_pixbuf_get_width(td->avatar); td->avatar_height = gdk_pixbuf_get_height(td->avatar); - - g_free(tooltip_text); - return td; + + g_free(tooltip_text); + return td; } static void gaim_gtk_blist_paint_tip(GtkWidget *widget, GdkEventExpose *event, GaimBlistNode *node) { - GtkStyle *style; - int current_height, max_width; - GList *l; - - if(gtkblist->tooltipdata == NULL) - return; - - style = gtkblist->tipwindow->style; - gtk_paint_flat_box(style, gtkblist->tipwindow->window, GTK_STATE_NORMAL, GTK_SHADOW_OUT, - NULL, gtkblist->tipwindow, "tooltip", 0, 0, -1, -1); - - max_width = 0; - for(l = gtkblist->tooltipdata; l; l = l->next) - { - struct tooltip_data *td = l->data; - max_width = MAX(max_width, + GtkStyle *style; + int current_height, max_width; + GList *l; + + if(gtkblist->tooltipdata == NULL) + return; + + style = gtkblist->tipwindow->style; + gtk_paint_flat_box(style, gtkblist->tipwindow->window, GTK_STATE_NORMAL, GTK_SHADOW_OUT, + NULL, gtkblist->tipwindow, "tooltip", 0, 0, -1, -1); + + max_width = 0; + for(l = gtkblist->tooltipdata; l; l = l->next) + { + struct tooltip_data *td = l->data; + max_width = MAX(max_width, TOOLTIP_BORDER + STATUS_SIZE + SMALL_SPACE + MAX(td->width, td->name_width) + SMALL_SPACE + td->avatar_width + TOOLTIP_BORDER); - } - - current_height = 12; - for(l = gtkblist->tooltipdata; l; l = l->next) - { - struct tooltip_data *td = l->data; - - if (td->avatar && gaim_gdk_pixbuf_is_opaque(td->avatar)) - gtk_paint_flat_box(style, gtkblist->tipwindow->window, GTK_STATE_NORMAL, GTK_SHADOW_OUT, - NULL, gtkblist->tipwindow, "tooltip", - max_width - (td->avatar_width+ TOOLTIP_BORDER)-1, - current_height-1,td->avatar_width+2, td->avatar_height+2); + } + + current_height = 12; + for(l = gtkblist->tooltipdata; l; l = l->next) + { + struct tooltip_data *td = l->data; + + if (td->avatar && gaim_gdk_pixbuf_is_opaque(td->avatar)) + gtk_paint_flat_box(style, gtkblist->tipwindow->window, GTK_STATE_NORMAL, GTK_SHADOW_OUT, + NULL, gtkblist->tipwindow, "tooltip", + max_width - (td->avatar_width+ TOOLTIP_BORDER)-1, + current_height-1,td->avatar_width+2, td->avatar_height+2); #if GTK_CHECK_VERSION(2,2,0) - gdk_draw_pixbuf(GDK_DRAWABLE(gtkblist->tipwindow->window), NULL, td->status_icon, - 0, 0, TOOLTIP_BORDER, current_height, -1 , -1, GDK_RGB_DITHER_NONE, 0, 0); - if(td->avatar) - gdk_draw_pixbuf(GDK_DRAWABLE(gtkblist->tipwindow->window), NULL, - td->avatar, 0, 0, max_width - (td->avatar_width + TOOLTIP_BORDER), + gdk_draw_pixbuf(GDK_DRAWABLE(gtkblist->tipwindow->window), NULL, td->status_icon, + 0, 0, TOOLTIP_BORDER, current_height, -1 , -1, GDK_RGB_DITHER_NONE, 0, 0); + if(td->avatar) + gdk_draw_pixbuf(GDK_DRAWABLE(gtkblist->tipwindow->window), NULL, + td->avatar, 0, 0, max_width - (td->avatar_width + TOOLTIP_BORDER), current_height, -1 , -1, GDK_RGB_DITHER_NONE, 0, 0); - if (!td->avatar_is_prpl_icon) + if (!td->avatar_is_prpl_icon) gdk_draw_pixbuf(GDK_DRAWABLE(gtkblist->tipwindow->window), NULL, td->prpl_icon, - 0, 0, + 0, 0, TOOLTIP_BORDER + STATUS_SIZE + SMALL_SPACE + td->name_width - PRPL_SIZE, current_height + ((td->name_height / 2) - (PRPL_SIZE / 2)), - -1 , -1, GDK_RGB_DITHER_NONE, 0, 0); - + -1 , -1, GDK_RGB_DITHER_NONE, 0, 0); + #else - gdk_pixbuf_render_to_drawable(td->status_icon, GDK_DRAWABLE(gtkblist->tipwindow->window), NULL, 0, 0, 12, current_height, -1, -1, GDK_RGB_DITHER_NONE, 0, 0); - if(td->avatar) - gdk_pixbuf_render_to_drawable(td->avatar, - GDK_DRAWABLE(gtkblist->tipwindow->window), NULL, 0, 0, - max_width - (td->avatar_width + 12), - current_height, -1, -1, GDK_RGB_DITHER_NONE, 0, 0); + gdk_pixbuf_render_to_drawable(td->status_icon, GDK_DRAWABLE(gtkblist->tipwindow->window), NULL, 0, 0, 12, current_height, -1, -1, GDK_RGB_DITHER_NONE, 0, 0); + if(td->avatar) + gdk_pixbuf_render_to_drawable(td->avatar, + GDK_DRAWABLE(gtkblist->tipwindow->window), NULL, 0, 0, + max_width - (td->avatar_width + 12), + current_height, -1, -1, GDK_RGB_DITHER_NONE, 0, 0); #endif - gtk_paint_layout (style, gtkblist->tipwindow->window, GTK_STATE_NORMAL, FALSE, - NULL, gtkblist->tipwindow, "tooltip", - TOOLTIP_BORDER + STATUS_SIZE + SMALL_SPACE, current_height, td->name_layout); - current_height += td->name_height; - - gtk_paint_layout (style, gtkblist->tipwindow->window, GTK_STATE_NORMAL, FALSE, - NULL, gtkblist->tipwindow, "tooltip", - TOOLTIP_BORDER + STATUS_SIZE + SMALL_SPACE, current_height, td->layout); - - current_height += td->height + TOOLTIP_BORDER; - - } + gtk_paint_layout (style, gtkblist->tipwindow->window, GTK_STATE_NORMAL, FALSE, + NULL, gtkblist->tipwindow, "tooltip", + TOOLTIP_BORDER + STATUS_SIZE + SMALL_SPACE, current_height, td->name_layout); + current_height += td->name_height; + + gtk_paint_layout (style, gtkblist->tipwindow->window, GTK_STATE_NORMAL, FALSE, + NULL, gtkblist->tipwindow, "tooltip", + TOOLTIP_BORDER + STATUS_SIZE + SMALL_SPACE, current_height, td->layout); + + current_height += td->height + TOOLTIP_BORDER; + } } @@ -2994,35 +2993,35 @@ } if(buddy) { - GaimPresence *p = gaim_buddy_get_presence(buddy); - if (GAIM_BUDDY_IS_ONLINE(buddy) && gtkbuddynode && gtkbuddynode->recent_signonoff) - ret = gtk_widget_render_icon (GTK_WIDGET(gtkblist->treeview), PIDGIN_STOCK_STATUS_LOGIN, - icon_size, "GtkTreeView"); - else if (gtkbuddynode && gtkbuddynode->recent_signonoff) - ret = gtk_widget_render_icon (GTK_WIDGET(gtkblist->treeview), PIDGIN_STOCK_STATUS_LOGOUT, - icon_size, "GtkTreeView"); - else if (gaim_presence_is_status_primitive_active(p, GAIM_STATUS_UNAVAILABLE)) - ret = gtk_widget_render_icon (GTK_WIDGET(gtkblist->treeview), PIDGIN_STOCK_STATUS_BUSY, - icon_size, "GtkTreeView"); - else if (gaim_presence_is_status_primitive_active(p, GAIM_STATUS_AWAY)) - ret = gtk_widget_render_icon (GTK_WIDGET(gtkblist->treeview), PIDGIN_STOCK_STATUS_AWAY, - icon_size, "GtkTreeView"); - else if (gaim_presence_is_status_primitive_active(p, GAIM_STATUS_EXTENDED_AWAY)) - ret = gtk_widget_render_icon (GTK_WIDGET(gtkblist->treeview), PIDGIN_STOCK_STATUS_XA, - icon_size, "GtkTreeView"); - else if (gaim_presence_is_status_primitive_active(p, GAIM_STATUS_OFFLINE)) - ret = gtk_widget_render_icon (GTK_WIDGET(gtkblist->treeview), PIDGIN_STOCK_STATUS_OFFLINE, - icon_size, "GtkTreeView"); - else - ret = gtk_widget_render_icon (GTK_WIDGET(gtkblist->treeview), PIDGIN_STOCK_STATUS_AVAILABLE, - icon_size, "GtkTreeView"); - } else if (chat) { - ret = gtk_widget_render_icon (GTK_WIDGET(gtkblist->treeview), PIDGIN_STOCK_STATUS_CHAT, - icon_size, "GtkTreeView"); - } else { - ret = gtk_widget_render_icon (GTK_WIDGET(gtkblist->treeview), PIDGIN_STOCK_STATUS_PERSON, - icon_size, "GtkTreeView"); - } + GaimPresence *p = gaim_buddy_get_presence(buddy); + if (GAIM_BUDDY_IS_ONLINE(buddy) && gtkbuddynode && gtkbuddynode->recent_signonoff) + ret = gtk_widget_render_icon (GTK_WIDGET(gtkblist->treeview), PIDGIN_STOCK_STATUS_LOGIN, + icon_size, "GtkTreeView"); + else if (gtkbuddynode && gtkbuddynode->recent_signonoff) + ret = gtk_widget_render_icon (GTK_WIDGET(gtkblist->treeview), PIDGIN_STOCK_STATUS_LOGOUT, + icon_size, "GtkTreeView"); + else if (gaim_presence_is_status_primitive_active(p, GAIM_STATUS_UNAVAILABLE)) + ret = gtk_widget_render_icon (GTK_WIDGET(gtkblist->treeview), PIDGIN_STOCK_STATUS_BUSY, + icon_size, "GtkTreeView"); + else if (gaim_presence_is_status_primitive_active(p, GAIM_STATUS_AWAY)) + ret = gtk_widget_render_icon (GTK_WIDGET(gtkblist->treeview), PIDGIN_STOCK_STATUS_AWAY, + icon_size, "GtkTreeView"); + else if (gaim_presence_is_status_primitive_active(p, GAIM_STATUS_EXTENDED_AWAY)) + ret = gtk_widget_render_icon (GTK_WIDGET(gtkblist->treeview), PIDGIN_STOCK_STATUS_XA, + icon_size, "GtkTreeView"); + else if (gaim_presence_is_status_primitive_active(p, GAIM_STATUS_OFFLINE)) + ret = gtk_widget_render_icon (GTK_WIDGET(gtkblist->treeview), PIDGIN_STOCK_STATUS_OFFLINE, + icon_size, "GtkTreeView"); + else + ret = gtk_widget_render_icon (GTK_WIDGET(gtkblist->treeview), PIDGIN_STOCK_STATUS_AVAILABLE, + icon_size, "GtkTreeView"); + } else if (chat) { + ret = gtk_widget_render_icon (GTK_WIDGET(gtkblist->treeview), PIDGIN_STOCK_STATUS_CHAT, + icon_size, "GtkTreeView"); + } else { + ret = gtk_widget_render_icon (GTK_WIDGET(gtkblist->treeview), PIDGIN_STOCK_STATUS_PERSON, + icon_size, "GtkTreeView"); + } return ret; @@ -4074,8 +4073,8 @@ gtkblist = GAIM_GTK_BLIST(list); - gtkblist->empty_avatar = gdk_pixbuf_new(GDK_COLORSPACE_RGB, TRUE, 8, 32, 32); - gdk_pixbuf_fill(gtkblist->empty_avatar, 0x00000000); + gtkblist->empty_avatar = gdk_pixbuf_new(GDK_COLORSPACE_RGB, TRUE, 8, 32, 32); + gdk_pixbuf_fill(gtkblist->empty_avatar, 0x00000000); gtkblist->window = gtk_window_new(GTK_WINDOW_TOPLEVEL); gtk_window_set_role(GTK_WINDOW(gtkblist->window), "buddy_list"); @@ -5736,7 +5735,7 @@ GaimGtkBuddyList *gaim_gtk_blist_get_default_gtk_blist() { - return gtkblist; + return gtkblist; } static void account_signon_cb(GaimConnection *gc, gpointer z) diff -r 154b8d8643a2 -r c68f2808f703 pidgin/gtkdebug.c --- a/pidgin/gtkdebug.c Sun Jan 28 21:40:07 2007 +0000 +++ b/pidgin/gtkdebug.c Sun Jan 28 21:40:32 2007 +0000 @@ -182,7 +182,7 @@ hbox = gtk_hbox_new(FALSE, GAIM_HIG_BORDER); gtk_container_add(GTK_CONTAINER(GTK_DIALOG(win->find)->vbox), hbox); - img = gtk_image_new_from_stock(GAIM_STOCK_DIALOG_QUESTION, + img = gtk_image_new_from_stock(PIDGIN_STOCK_DIALOG_QUESTION, GTK_ICON_SIZE_DIALOG); gtk_box_pack_start(GTK_BOX(hbox), img, FALSE, FALSE, 0); diff -r 154b8d8643a2 -r c68f2808f703 pidgin/pixmaps/Makefile.am --- a/pidgin/pixmaps/Makefile.am Sun Jan 28 21:40:07 2007 +0000 +++ b/pidgin/pixmaps/Makefile.am Sun Jan 28 21:40:32 2007 +0000 @@ -47,11 +47,6 @@ typed.png \ typing.png \ Makefile.mingw \ - smileys/Makefile.mingw \ - smileys/default/Makefile.mingw \ - smileys/none/Makefile.mingw \ - status/default/Makefile.mingw \ - status/Makefile.mingw \ gaim-install.ico \ gaim.ico \ gaim_16.ico \ diff -r 154b8d8643a2 -r c68f2808f703 pidgin/pixmaps/buddy_icons/Makefile.am --- a/pidgin/pixmaps/buddy_icons/Makefile.am Sun Jan 28 21:40:07 2007 +0000 +++ b/pidgin/pixmaps/buddy_icons/Makefile.am Sun Jan 28 21:40:32 2007 +0000 @@ -1,1 +1,5 @@ SUBDIRS = qq + +EXTRA_DIST = \ + Makefile.mingw \ + qq/Makefile.mingw diff -r 154b8d8643a2 -r c68f2808f703 pidgin/pixmaps/dialogs/16/Makefile.mingw --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/pidgin/pixmaps/dialogs/16/Makefile.mingw Sun Jan 28 21:40:32 2007 +0000 @@ -0,0 +1,20 @@ +# +# Makefile.mingw +# +# Description: Makefile for win32 (mingw) version of Pidgin pixmaps +# + +GAIM_TOP := ../../../.. +include $(GAIM_TOP)/libpurple/win32/global.mak + +datadir = $(GAIM_INSTALL_DIR) +include ./Makefile.am + +.PHONY: install + +install: + if test '$(pidgindialogpix_DATA)'; then \ + mkdir -p $(pidgindialogpixdir); \ + cp $(pidgindialogpix_DATA) $(pidgindialogpixdir); \ + fi; + diff -r 154b8d8643a2 -r c68f2808f703 pidgin/pixmaps/dialogs/64/Makefile.am --- a/pidgin/pixmaps/dialogs/64/Makefile.am Sun Jan 28 21:40:07 2007 +0000 +++ b/pidgin/pixmaps/dialogs/64/Makefile.am Sun Jan 28 21:40:32 2007 +0000 @@ -6,7 +6,6 @@ error.png \ info.png \ mail.png \ - Makefile.am \ question.png \ warning.png diff -r 154b8d8643a2 -r c68f2808f703 pidgin/pixmaps/dialogs/64/Makefile.mingw --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/pidgin/pixmaps/dialogs/64/Makefile.mingw Sun Jan 28 21:40:32 2007 +0000 @@ -0,0 +1,20 @@ +# +# Makefile.mingw +# +# Description: Makefile for win32 (mingw) version of Pidgin pixmaps +# + +GAIM_TOP := ../../../.. +include $(GAIM_TOP)/libpurple/win32/global.mak + +datadir = $(GAIM_INSTALL_DIR) +include ./Makefile.am + +.PHONY: install + +install: + if test '$(pidgindialogpix_DATA)'; then \ + mkdir -p $(pidgindialogpixdir); \ + cp $(pidgindialogpix_DATA) $(pidgindialogpixdir); \ + fi; + diff -r 154b8d8643a2 -r c68f2808f703 pidgin/pixmaps/dialogs/Makefile.am --- a/pidgin/pixmaps/dialogs/Makefile.am Sun Jan 28 21:40:07 2007 +0000 +++ b/pidgin/pixmaps/dialogs/Makefile.am Sun Jan 28 21:40:32 2007 +0000 @@ -1,1 +1,6 @@ SUBDIRS = 16 64 + +EXTRA_DIST = \ + Makefile.mingw \ + 16/Makefile.mingw \ + 64/Makefile.mingw diff -r 154b8d8643a2 -r c68f2808f703 pidgin/pixmaps/dialogs/Makefile.mingw --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/pidgin/pixmaps/dialogs/Makefile.mingw Sun Jan 28 21:40:32 2007 +0000 @@ -0,0 +1,16 @@ +# +# Makefile.mingw +# +# Description: Makefile for win32 (mingw) version of Pidgin pixmaps +# + +include ./Makefile.am + +.PHONY: install + +install: + if test '$(SUBDIRS)'; then \ + list='$(SUBDIRS)'; for subdir in $$list; do \ + $(MAKE) -C $$subdir -f Makefile.mingw install || exit 1; \ + done; \ + fi; diff -r 154b8d8643a2 -r c68f2808f703 pidgin/pixmaps/emblems/16/Makefile.mingw --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/pidgin/pixmaps/emblems/16/Makefile.mingw Sun Jan 28 21:40:32 2007 +0000 @@ -0,0 +1,20 @@ +# +# Makefile.mingw +# +# Description: Makefile for win32 (mingw) version of Pidgin pixmaps +# + +GAIM_TOP := ../../../.. +include $(GAIM_TOP)/libpurple/win32/global.mak + +datadir = $(GAIM_INSTALL_DIR) +include ./Makefile.am + +.PHONY: install + +install: + if test '$(pidginemblempix_DATA)'; then \ + mkdir -p $(pidginemblempixdir); \ + cp $(pidginemblempix_DATA) $(pidginemblempixdir); \ + fi; + diff -r 154b8d8643a2 -r c68f2808f703 pidgin/pixmaps/emblems/Makefile.am --- a/pidgin/pixmaps/emblems/Makefile.am Sun Jan 28 21:40:07 2007 +0000 +++ b/pidgin/pixmaps/emblems/Makefile.am Sun Jan 28 21:40:32 2007 +0000 @@ -1,1 +1,5 @@ SUBDIRS = 16 + +EXTRA_DIST = \ + Makefile.mingw \ + 16/Makefile.mingw diff -r 154b8d8643a2 -r c68f2808f703 pidgin/pixmaps/emblems/Makefile.mingw --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/pidgin/pixmaps/emblems/Makefile.mingw Sun Jan 28 21:40:32 2007 +0000 @@ -0,0 +1,16 @@ +# +# Makefile.mingw +# +# Description: Makefile for win32 (mingw) version of Pidgin pixmaps +# + +include ./Makefile.am + +.PHONY: install + +install: + if test '$(SUBDIRS)'; then \ + list='$(SUBDIRS)'; for subdir in $$list; do \ + $(MAKE) -C $$subdir -f Makefile.mingw install || exit 1; \ + done; \ + fi; diff -r 154b8d8643a2 -r c68f2808f703 pidgin/pixmaps/emotes/default/22/scalable/Makefile.am --- a/pidgin/pixmaps/emotes/default/22/scalable/Makefile.am Sun Jan 28 21:40:07 2007 +0000 +++ b/pidgin/pixmaps/emotes/default/22/scalable/Makefile.am Sun Jan 28 21:40:32 2007 +0000 @@ -86,7 +86,7 @@ meeting.svg \ mobile.svg \ monkey.svg \ - moneymouth.png + moneymouth.svg \ moon.svg \ msn-away.svg \ msn-busy.svg \ diff -r 154b8d8643a2 -r c68f2808f703 pidgin/pixmaps/emotes/default/22/scalable/Makefile.mingw --- a/pidgin/pixmaps/emotes/default/22/scalable/Makefile.mingw Sun Jan 28 21:40:07 2007 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,10 +0,0 @@ -# -# Makefile.mingw -# -# Description: Makefile for win32 (mingw) version of Pidgin pixmaps -# - -.PHONY: install - -install: - diff -r 154b8d8643a2 -r c68f2808f703 pidgin/pixmaps/emotes/default/Makefile.am --- a/pidgin/pixmaps/emotes/default/Makefile.am Sun Jan 28 21:40:07 2007 +0000 +++ b/pidgin/pixmaps/emotes/default/Makefile.am Sun Jan 28 21:40:32 2007 +0000 @@ -1,5 +1,5 @@ SUBDIRS=22 EXTRA_DIST= \ + Makefile.mingw \ 22/Makefile.mingw - 22/22/scalable/Makefile.mingw diff -r 154b8d8643a2 -r c68f2808f703 pidgin/pixmaps/protocols/16/Makefile.am --- a/pidgin/pixmaps/protocols/16/Makefile.am Sun Jan 28 21:40:07 2007 +0000 +++ b/pidgin/pixmaps/protocols/16/Makefile.am Sun Jan 28 21:40:32 2007 +0000 @@ -7,7 +7,6 @@ icq.png \ irc.png \ jabber.png \ - Makefile.am \ meanwhile.png \ msn.png \ qq.png \ diff -r 154b8d8643a2 -r c68f2808f703 pidgin/pixmaps/protocols/16/Makefile.mingw --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/pidgin/pixmaps/protocols/16/Makefile.mingw Sun Jan 28 21:40:32 2007 +0000 @@ -0,0 +1,20 @@ +# +# Makefile.mingw +# +# Description: Makefile for win32 (mingw) version of Pidgin pixmaps +# + +GAIM_TOP := ../../../.. +include $(GAIM_TOP)/libpurple/win32/global.mak + +datadir = $(GAIM_INSTALL_DIR) +include ./Makefile.am + +.PHONY: install + +install: + if test '$(pidginprotocolpix_DATA)'; then \ + mkdir -p $(pidginprotocolpixdir); \ + cp $(pidginprotocolpix_DATA) $(pidginprotocolpixdir); \ + fi; + diff -r 154b8d8643a2 -r c68f2808f703 pidgin/pixmaps/protocols/16/scalable/Makefile.am --- a/pidgin/pixmaps/protocols/16/scalable/Makefile.am Sun Jan 28 21:40:07 2007 +0000 +++ b/pidgin/pixmaps/protocols/16/scalable/Makefile.am Sun Jan 28 21:40:32 2007 +0000 @@ -6,7 +6,7 @@ irc.svg \ jabber.svg \ meanwhile.svg \ - msn2.svg \ + msn.svg \ qq.svg \ silc.svg \ simple.svg \ diff -r 154b8d8643a2 -r c68f2808f703 pidgin/pixmaps/protocols/22/Makefile.am --- a/pidgin/pixmaps/protocols/22/Makefile.am Sun Jan 28 21:40:07 2007 +0000 +++ b/pidgin/pixmaps/protocols/22/Makefile.am Sun Jan 28 21:40:32 2007 +0000 @@ -7,7 +7,6 @@ icq.png \ irc.png \ jabber.png \ - Makefile.am \ meanwhile.png \ msn.png \ qq.png \ diff -r 154b8d8643a2 -r c68f2808f703 pidgin/pixmaps/protocols/22/Makefile.mingw --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/pidgin/pixmaps/protocols/22/Makefile.mingw Sun Jan 28 21:40:32 2007 +0000 @@ -0,0 +1,20 @@ +# +# Makefile.mingw +# +# Description: Makefile for win32 (mingw) version of Pidgin pixmaps +# + +GAIM_TOP := ../../../.. +include $(GAIM_TOP)/libpurple/win32/global.mak + +datadir = $(GAIM_INSTALL_DIR) +include ./Makefile.am + +.PHONY: install + +install: + if test '$(pidginprotocolpix_DATA)'; then \ + mkdir -p $(pidginprotocolpixdir); \ + cp $(pidginprotocolpix_DATA) $(pidginprotocolpixdir); \ + fi; + diff -r 154b8d8643a2 -r c68f2808f703 pidgin/pixmaps/protocols/22/scalable/msn.svg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/pidgin/pixmaps/protocols/22/scalable/msn.svg Sun Jan 28 21:40:32 2007 +0000 @@ -0,0 +1,222 @@ + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + diff -r 154b8d8643a2 -r c68f2808f703 pidgin/pixmaps/protocols/22/scalable/msn2.svg --- a/pidgin/pixmaps/protocols/22/scalable/msn2.svg Sun Jan 28 21:40:07 2007 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,222 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - diff -r 154b8d8643a2 -r c68f2808f703 pidgin/pixmaps/protocols/48/Makefile.am --- a/pidgin/pixmaps/protocols/48/Makefile.am Sun Jan 28 21:40:07 2007 +0000 +++ b/pidgin/pixmaps/protocols/48/Makefile.am Sun Jan 28 21:40:32 2007 +0000 @@ -7,7 +7,6 @@ icq.png \ irc.png \ jabber.png \ - Makefile.am \ meanwhile.png \ msn.png \ qq.png \ diff -r 154b8d8643a2 -r c68f2808f703 pidgin/pixmaps/protocols/48/Makefile.mingw --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/pidgin/pixmaps/protocols/48/Makefile.mingw Sun Jan 28 21:40:32 2007 +0000 @@ -0,0 +1,20 @@ +# +# Makefile.mingw +# +# Description: Makefile for win32 (mingw) version of Pidgin pixmaps +# + +GAIM_TOP := ../../../.. +include $(GAIM_TOP)/libpurple/win32/global.mak + +datadir = $(GAIM_INSTALL_DIR) +include ./Makefile.am + +.PHONY: install + +install: + if test '$(pidginprotocolpix_DATA)'; then \ + mkdir -p $(pidginprotocolpixdir); \ + cp $(pidginprotocolpix_DATA) $(pidginprotocolpixdir); \ + fi; + diff -r 154b8d8643a2 -r c68f2808f703 pidgin/pixmaps/protocols/Makefile.am --- a/pidgin/pixmaps/protocols/Makefile.am Sun Jan 28 21:40:07 2007 +0000 +++ b/pidgin/pixmaps/protocols/Makefile.am Sun Jan 28 21:40:32 2007 +0000 @@ -1,1 +1,8 @@ SUBDIRS = 16 22 48 + +EXTRA_DIST = \ + Makefile.mingw \ + 16/Makefile.mingw \ + 22/Makefile.mingw \ + 48/Makefile.mingw + diff -r 154b8d8643a2 -r c68f2808f703 pidgin/pixmaps/protocols/Makefile.mingw --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/pidgin/pixmaps/protocols/Makefile.mingw Sun Jan 28 21:40:32 2007 +0000 @@ -0,0 +1,16 @@ +# +# Makefile.mingw +# +# Description: Makefile for win32 (mingw) version of Pidgin pixmaps +# + +include ./Makefile.am + +.PHONY: install + +install: + if test '$(SUBDIRS)'; then \ + list='$(SUBDIRS)'; for subdir in $$list; do \ + $(MAKE) -C $$subdir -f Makefile.mingw install || exit 1; \ + done; \ + fi; diff -r 154b8d8643a2 -r c68f2808f703 pidgin/pixmaps/status/16/scalable/Makefile.am --- a/pidgin/pixmaps/status/16/scalable/Makefile.am Sun Jan 28 21:40:07 2007 +0000 +++ b/pidgin/pixmaps/status/16/scalable/Makefile.am Sun Jan 28 21:40:32 2007 +0000 @@ -3,9 +3,10 @@ busy.svg \ chat.svg \ extended-away.svg \ - half-operator.svg \ log-in.svg \ log-out.svg \ offline.svg \ - operator.svg \ person.svg + +# half-operator.svg +# operator.svg diff -r 154b8d8643a2 -r c68f2808f703 pidgin/pixmaps/status/22/scalable/busy.svg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/pidgin/pixmaps/status/22/scalable/busy.svg Sun Jan 28 21:40:32 2007 +0000 @@ -0,0 +1,189 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + diff -r 154b8d8643a2 -r c68f2808f703 pidgin/pixmaps/status/22/scalable/busy22.svg --- a/pidgin/pixmaps/status/22/scalable/busy22.svg Sun Jan 28 21:40:07 2007 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,189 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - - diff -r 154b8d8643a2 -r c68f2808f703 pidgin/pixmaps/status/22/scalable/offline.svg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/pidgin/pixmaps/status/22/scalable/offline.svg Sun Jan 28 21:40:32 2007 +0000 @@ -0,0 +1,187 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + diff -r 154b8d8643a2 -r c68f2808f703 pidgin/pixmaps/status/22/scalable/offline22.svg --- a/pidgin/pixmaps/status/22/scalable/offline22.svg Sun Jan 28 21:40:07 2007 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,187 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - - - diff -r 154b8d8643a2 -r c68f2808f703 pidgin/pixmaps/status/Makefile.am --- a/pidgin/pixmaps/status/Makefile.am Sun Jan 28 21:40:07 2007 +0000 +++ b/pidgin/pixmaps/status/Makefile.am Sun Jan 28 21:40:32 2007 +0000 @@ -1,6 +1,7 @@ SUBDIRS = 16 22 32 EXTRA_DIST = \ + Makefile.mingw \ 16/Makefile.mingw \ 22/Makefile.mingw \ 32/Makefile.mingw diff -r 154b8d8643a2 -r c68f2808f703 pidgin/plugins/cap/cap.c --- a/pidgin/plugins/cap/cap.c Sun Jan 28 21:40:07 2007 +0000 +++ b/pidgin/plugins/cap/cap.c Sun Jan 28 21:40:32 2007 +0000 @@ -136,6 +136,8 @@ g_free(stats->prediction); /* g_free(stats->hourly_usage); */ /* g_free(stats->daily_usage); */ + if (stats->timeout_source_id != 0) + g_source_remove(stats->timeout_source_id); g_free(stats); } @@ -345,6 +347,7 @@ static void sent_im_msg(GaimAccount *account, const char *receiver, const char *message) { GaimBuddy *buddy; guint interval, words; + CapStatistics *stats = NULL; buddy = gaim_find_buddy(account, receiver); @@ -354,7 +357,7 @@ interval = gaim_prefs_get_int("/plugins/gtk/cap/max_msg_difference") * 1000 * 60; words = word_count(message); - CapStatistics *stats = get_stats_for(buddy); + stats = get_stats_for(buddy); insert_word_count(gaim_account_get_username(account), receiver, words); stats->last_message = time(NULL);