changeset 15453:c68f2808f703

merge of '53ec0f43994bc2a1adb7671f7f52c365475ff97a' and 'd29b89ab5d6d87418a4f03545dec207a74bdad0d'
author Sean Egan <seanegan@gmail.com>
date Sun, 28 Jan 2007 21:40:32 +0000
parents c6115dc73b28 (diff) 154b8d8643a2 (current diff)
children 3b45081f6183 79f25bbe69bf
files pidgin/pixmaps/emotes/default/22/scalable/Makefile.mingw pidgin/pixmaps/protocols/22/scalable/msn2.svg pidgin/pixmaps/status/22/scalable/busy22.svg pidgin/pixmaps/status/22/scalable/offline22.svg
diffstat 44 files changed, 1568 insertions(+), 840 deletions(-) [+]
line wrap: on
line diff
--- 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"
--- 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 \
--- 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_ */
--- 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);
 }
 
--- 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);
--- 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<br>", 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;
--- 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 */
--- 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
--- 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;
 }
--- 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);
 
 /*@}*/
--- 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 \
--- 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("<span size='x-large' weight='bold'>%s</span>", 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)
--- 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);
 
--- 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			\
--- 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
--- /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;
+
--- 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
 
--- /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;
+
--- 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
--- /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;
--- /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;
+
--- 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
--- /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;
--- 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 \
--- 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:
-
--- 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
--- 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 \
--- /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;
+
--- 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 \
--- 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 \
--- /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;
+
--- /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 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://web.resource.org/cc/"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:xlink="http://www.w3.org/1999/xlink"
+   xmlns:sodipodi="http://inkscape.sourceforge.net/DTD/s odipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   width="24"
+   height="24"
+   id="svg2"
+   sodipodi:version="0.32"
+   inkscape:version="0.43"
+   version="1.0"
+   sodipodi:docbase="/home/hbons/Desktop/Gaim Refresh/protocols"
+   sodipodi:docname="msn2.svg"
+   inkscape:export-filename="/home/hbons/Desktop/Gaim Refresh/protocols/msn2.png"
+   inkscape:export-xdpi="90"
+   inkscape:export-ydpi="90">
+  <defs
+     id="defs4">
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient3816">
+      <stop
+         style="stop-color:#000000;stop-opacity:1;"
+         offset="0"
+         id="stop3818" />
+      <stop
+         style="stop-color:#000000;stop-opacity:0;"
+         offset="1"
+         id="stop3820" />
+    </linearGradient>
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3816"
+       id="radialGradient3822"
+       cx="31.112698"
+       cy="19.008621"
+       fx="31.112698"
+       fy="19.008621"
+       r="8.6620579"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient2228">
+      <stop
+         style="stop-color:#f56600;stop-opacity:1;"
+         offset="0"
+         id="stop2230" />
+      <stop
+         style="stop-color:#f56600;stop-opacity:0;"
+         offset="1"
+         id="stop2232" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient2219">
+      <stop
+         style="stop-color:#3465a4;stop-opacity:1;"
+         offset="0"
+         id="stop2221" />
+      <stop
+         style="stop-color:#3465a4;stop-opacity:0;"
+         offset="1"
+         id="stop2223" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2219"
+       id="linearGradient2251"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.747158,0,0,0.74873,0.374035,0.608489)"
+       x1="9.9973583"
+       y1="14.918511"
+       x2="14.069712"
+       y2="18.218639" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2228"
+       id="linearGradient1330"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.782765,0,0,0.747651,1.035995,0.614065)"
+       x1="20.998175"
+       y1="11.741063"
+       x2="17.999571"
+       y2="18.866741" />
+  </defs>
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="29.556977"
+     inkscape:cx="19.409996"
+     inkscape:cy="10.944939"
+     inkscape:document-units="px"
+     inkscape:current-layer="layer1"
+     showgrid="true"
+     fill="#edd400"
+     showguides="true"
+     inkscape:guide-bbox="true"
+     inkscape:window-width="1268"
+     inkscape:window-height="971"
+     inkscape:window-x="6"
+     inkscape:window-y="21" />
+  <metadata
+     id="metadata7">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     inkscape:label="Layer 1"
+     inkscape:groupmode="layer"
+     id="layer1">
+    <path
+       d="M 39.774755 19.008621 A 8.6620579 8.6620579 0 1 1  22.45064,19.008621 A 8.6620579 8.6620579 0 1 1  39.774755 19.008621 z"
+       sodipodi:ry="8.6620579"
+       sodipodi:rx="8.6620579"
+       sodipodi:cy="19.008621"
+       sodipodi:cx="31.112698"
+       id="path4318"
+       style="opacity:0.4;color:#000000;fill:url(#radialGradient3822);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+       sodipodi:type="arc"
+       transform="matrix(1.044119,0,0,0.346338,-18.44114,13.41659)" />
+    <path
+       style="opacity:1;fill:#edd400;fill-opacity:1;stroke:#c4a000;stroke-width:1.00000083;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 18.436518,9.9127618 C 21.037357,10.673309 21.362289,19.501337 18.407881,19.501337 C 15.489266,19.501337 8.9905421,7.150538 18.436518,9.9127618 z "
+       id="rect2194"
+       sodipodi:nodetypes="czs" />
+    <path
+       sodipodi:type="inkscape:offset"
+       inkscape:radius="-0.96520001"
+       inkscape:original="M 15.59375 9.53125 C 10.549483 10.044796 15.852462 19.5 18.40625 19.5 C 21.360658 19.5 21.038339 10.666797 18.4375 9.90625 C 17.256753 9.560972 16.31436 9.4578863 15.59375 9.53125 z "
+       xlink:href="#rect2194"
+       style="opacity:0.5;fill:none;fill-opacity:1;stroke:#ffffff;stroke-width:1.00000024;stroke-miterlimit:4;stroke-opacity:1"
+       id="path2259"
+       inkscape:href="#rect2194"
+       d="M 16,10.75 C 15.512126,10.798024 15.253534,10.920051 15.09375,11.0625 C 14.933966,11.204949 14.83864,11.380838 14.78125,11.6875 C 14.66647,12.300825 14.844054,13.385232 15.3125,14.46875 C 15.780946,15.552268 16.512913,16.653582 17.21875,17.4375 C 17.924587,18.221418 18.67699,18.5625 18.75,18.5625 C 18.89196,18.5625 18.968845,18.54667 19.09375,18.4375 C 19.218655,18.32833 19.365593,18.098064 19.5,17.78125 C 19.768815,17.147621 19.923112,16.154119 19.90625,15.125 C 19.889388,14.095881 19.705611,13.023656 19.40625,12.25 C 19.106889,11.476344 18.724904,11.117253 18.53125,11.0625 C 17.425208,10.749781 16.582845,10.692627 16,10.75 z " />
+    <path
+       style="fill:#73d216;fill-opacity:1;stroke:#4e9a06;stroke-width:1.00000083;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 13.316085,20.509475 C 10.851196,20.509475 4.3258741,14.508937 9.3204332,11.066555 C 14.310647,7.6271659 15.818731,20.509475 13.316085,20.509475 z "
+       id="rect2201"
+       sodipodi:nodetypes="czz" />
+    <path
+       style="opacity:0.25;fill:none;fill-opacity:1;stroke:#ffffff;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 10.99506,11.498797 C 10.735658,11.486846 10.370038,11.588319 9.8835883,11.932121 C 8.8737,12.645867 8.5374239,13.351301 8.4999186,14.121547 C 8.4624133,14.891791 8.7901654,15.780902 9.3391937,16.607457 C 9.8882225,17.43401 10.661309,18.195719 11.403357,18.728462 C 12.145404,19.261206 12.809412,19.500227 13.070994,19.500227 C 13.222335,19.500227 13.331682,19.0625 13.39947,18.682848 C 13.535046,17.923542 13.548476,16.808781 13.376787,15.695196 C 13.205098,14.58161 12.846108,13.444035 12.401414,12.661929 C 11.95672,11.879824 11.481565,11.52121 10.99506,11.498797 z "
+       id="path2254"
+       sodipodi:nodetypes="cssssssssc" />
+    <path
+       sodipodi:type="inkscape:offset"
+       inkscape:radius="-0.99454969"
+       inkscape:original="M 19.8125 2.53125 C 16.600144 3.1011521 12.46875 9.9375003 12.46875 9.9375 L 14.46875 14.5 C 18.173566 14.5 20.656251 12.6875 20.65625 12.6875 C 20.65625 12.6875 24.40713 4.4120618 21.125 2.6875 C 20.718044 2.4736692 20.271408 2.4498354 19.8125 2.53125 z "
+       xlink:href="#rect1317"
+       style="opacity:0.25;fill:none;fill-opacity:1;stroke:#ffffff;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1"
+       id="path2245"
+       inkscape:href="#rect1317"
+       d="M 20,3.5 C 18.995087,3.678281 17.104383,5.3426949 15.71875,7.0625 C 14.498278,8.5773128 13.796939,9.7027104 13.59375,10.03125 L 15.0625,13.375 C 17.799931,13.187054 19.57299,12.186552 19.84375,12 C 19.951969,11.755173 20.691026,10.13991 21.15625,8.125 C 21.405718,7.0445423 21.52736,5.9263632 21.4375,5.09375 C 21.34764,4.2611368 21.117806,3.8050199 20.65625,3.5625 C 20.487599,3.4738843 20.316754,3.4438049 20,3.5 z " />
+    <path
+       style="opacity:1;fill:url(#linearGradient2251);fill-opacity:1;stroke:#204a87;stroke-width:1.00000036;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 1.7306799,5.8222291 C 3.0741729,3.5659039 16.882213,13.11203 11.087148,14.375153 C 5.2996209,15.636634 0.40087698,8.0555627 1.7306799,5.8222291 z "
+       id="rect2197"
+       sodipodi:nodetypes="czz" />
+    <path
+       style="opacity:0.2;fill:none;fill-opacity:1;stroke:#ffffff;stroke-width:0.99999994;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="M 2.7390794,8.1722341 C 3.0496879,9.0060223 3.6590736,9.9821112 4.4574474,10.857929 C 6.0541952,12.609562 8.35926,13.89948 10.765977,13.389526 C 11.255672,13.285765 11.400406,13.151715 11.448617,13.081331 C 11.496824,13.010949 11.537361,12.912219 11.448617,12.641053 C 11.271127,12.098721 10.521911,11.132591 9.4713148,10.219525 C 8.4207206,9.3064602 7.0856043,8.3957283 5.8462653,7.7099423 C 4.6069262,7.0241566 3.3045923,6.5498939 2.7239802,6.4956482 C 2.4148401,6.4667656 2.428471,7.3384455 2.7390794,8.1722341 z "
+       id="path2249"
+       sodipodi:nodetypes="cssssssss" />
+    <path
+       style="opacity:1;fill:url(#linearGradient1330);fill-opacity:1;stroke:#ce5d00;stroke-width:1.0000006;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 12.478485,9.9508709 C 12.478485,9.9508709 17.866649,0.9861607 21.122294,2.6968071 C 24.404423,4.4213689 20.644961,12.673483 20.644961,12.673483 C 20.644961,12.673483 18.181394,14.512366 14.476578,14.512366 L 12.478485,9.9508709 z "
+       id="rect1317"
+       sodipodi:nodetypes="czccc" />
+    <path
+       sodipodi:type="inkscape:offset"
+       inkscape:radius="-0.99298751"
+       inkscape:original="M 19.8125 2.53125 C 16.600144 3.1011521 12.46875 9.9375003 12.46875 9.9375 L 14.46875 14.5 C 18.173566 14.5 20.656251 12.6875 20.65625 12.6875 C 20.65625 12.6875 24.40713 4.4120618 21.125 2.6875 C 20.718044 2.4736692 20.271408 2.4498354 19.8125 2.53125 z "
+       xlink:href="#rect1317"
+       style="opacity:0.25;fill:none;fill-opacity:1;stroke:#ffffff;stroke-width:1.0000006;stroke-miterlimit:4;stroke-opacity:1"
+       id="path1328"
+       inkscape:href="#rect1317"
+       d="M 20,3.5 C 18.994143,3.6784485 17.104459,5.3425998 15.71875,7.0625 C 14.49821,8.5773965 13.796948,9.7026949 13.59375,10.03125 L 15.0625,13.375 C 17.800353,13.18702 19.57294,12.186586 19.84375,12 C 19.951976,11.755161 20.690984,10.140091 21.15625,8.125 C 21.40574,7.0444453 21.527392,5.9266549 21.4375,5.09375 C 21.347608,4.2608451 21.11837,3.8053161 20.65625,3.5625 C 20.487225,3.4736876 20.316977,3.4437653 20,3.5 z " />
+    <path
+       sodipodi:type="arc"
+       style="opacity:1;fill:#75507b;fill-opacity:1;stroke:#5c3566;stroke-width:1.35211551;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2192"
+       sodipodi:cx="13.4375"
+       sodipodi:cy="15.825892"
+       sodipodi:rx="0.8035714"
+       sodipodi:ry="5.1116071"
+       d="M 14.241071 15.825892 A 0.8035714 5.1116071 0 1 1  12.633929,15.825892 A 0.8035714 5.1116071 0 1 1  14.241071 15.825892 z"
+       transform="matrix(0.603448,-0.487879,0.280285,0.679821,0.46572,8.794406)" />
+    <image
+       id="image1314"
+       height="31.456791"
+       width="30.814816"
+       sodipodi:absref="/home/hbons/Desktop/MSN_groups_butterfly.gif"
+       xlink:href="/home/hbons/Desktop/MSN_groups_butterfly.gif"
+       x="-32"
+       y="-23.456791"
+       style="opacity:0.72727272" />
+    <image
+       id="image2210"
+       height="8"
+       width="8"
+       sodipodi:absref="/home/hbons/Desktop/Gaim Refresh/Tango-Palette.png"
+       xlink:href="/home/hbons/Desktop/Gaim Refresh/Tango-Palette.png"
+       x="-16"
+       y="14" />
+  </g>
+</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 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!-- Created with Inkscape (http://www.inkscape.org/) -->
-<svg
-   xmlns:dc="http://purl.org/dc/elements/1.1/"
-   xmlns:cc="http://web.resource.org/cc/"
-   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
-   xmlns:svg="http://www.w3.org/2000/svg"
-   xmlns="http://www.w3.org/2000/svg"
-   xmlns:xlink="http://www.w3.org/1999/xlink"
-   xmlns:sodipodi="http://inkscape.sourceforge.net/DTD/s odipodi-0.dtd"
-   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
-   width="24"
-   height="24"
-   id="svg2"
-   sodipodi:version="0.32"
-   inkscape:version="0.43"
-   version="1.0"
-   sodipodi:docbase="/home/hbons/Desktop/Gaim Refresh/protocols"
-   sodipodi:docname="msn2.svg"
-   inkscape:export-filename="/home/hbons/Desktop/Gaim Refresh/protocols/msn2.png"
-   inkscape:export-xdpi="90"
-   inkscape:export-ydpi="90">
-  <defs
-     id="defs4">
-    <linearGradient
-       inkscape:collect="always"
-       id="linearGradient3816">
-      <stop
-         style="stop-color:#000000;stop-opacity:1;"
-         offset="0"
-         id="stop3818" />
-      <stop
-         style="stop-color:#000000;stop-opacity:0;"
-         offset="1"
-         id="stop3820" />
-    </linearGradient>
-    <radialGradient
-       inkscape:collect="always"
-       xlink:href="#linearGradient3816"
-       id="radialGradient3822"
-       cx="31.112698"
-       cy="19.008621"
-       fx="31.112698"
-       fy="19.008621"
-       r="8.6620579"
-       gradientUnits="userSpaceOnUse" />
-    <linearGradient
-       inkscape:collect="always"
-       id="linearGradient2228">
-      <stop
-         style="stop-color:#f56600;stop-opacity:1;"
-         offset="0"
-         id="stop2230" />
-      <stop
-         style="stop-color:#f56600;stop-opacity:0;"
-         offset="1"
-         id="stop2232" />
-    </linearGradient>
-    <linearGradient
-       inkscape:collect="always"
-       id="linearGradient2219">
-      <stop
-         style="stop-color:#3465a4;stop-opacity:1;"
-         offset="0"
-         id="stop2221" />
-      <stop
-         style="stop-color:#3465a4;stop-opacity:0;"
-         offset="1"
-         id="stop2223" />
-    </linearGradient>
-    <linearGradient
-       inkscape:collect="always"
-       xlink:href="#linearGradient2219"
-       id="linearGradient2251"
-       gradientUnits="userSpaceOnUse"
-       gradientTransform="matrix(0.747158,0,0,0.74873,0.374035,0.608489)"
-       x1="9.9973583"
-       y1="14.918511"
-       x2="14.069712"
-       y2="18.218639" />
-    <linearGradient
-       inkscape:collect="always"
-       xlink:href="#linearGradient2228"
-       id="linearGradient1330"
-       gradientUnits="userSpaceOnUse"
-       gradientTransform="matrix(0.782765,0,0,0.747651,1.035995,0.614065)"
-       x1="20.998175"
-       y1="11.741063"
-       x2="17.999571"
-       y2="18.866741" />
-  </defs>
-  <sodipodi:namedview
-     id="base"
-     pagecolor="#ffffff"
-     bordercolor="#666666"
-     borderopacity="1.0"
-     inkscape:pageopacity="0.0"
-     inkscape:pageshadow="2"
-     inkscape:zoom="29.556977"
-     inkscape:cx="19.409996"
-     inkscape:cy="10.944939"
-     inkscape:document-units="px"
-     inkscape:current-layer="layer1"
-     showgrid="true"
-     fill="#edd400"
-     showguides="true"
-     inkscape:guide-bbox="true"
-     inkscape:window-width="1268"
-     inkscape:window-height="971"
-     inkscape:window-x="6"
-     inkscape:window-y="21" />
-  <metadata
-     id="metadata7">
-    <rdf:RDF>
-      <cc:Work
-         rdf:about="">
-        <dc:format>image/svg+xml</dc:format>
-        <dc:type
-           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
-      </cc:Work>
-    </rdf:RDF>
-  </metadata>
-  <g
-     inkscape:label="Layer 1"
-     inkscape:groupmode="layer"
-     id="layer1">
-    <path
-       d="M 39.774755 19.008621 A 8.6620579 8.6620579 0 1 1  22.45064,19.008621 A 8.6620579 8.6620579 0 1 1  39.774755 19.008621 z"
-       sodipodi:ry="8.6620579"
-       sodipodi:rx="8.6620579"
-       sodipodi:cy="19.008621"
-       sodipodi:cx="31.112698"
-       id="path4318"
-       style="opacity:0.4;color:#000000;fill:url(#radialGradient3822);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
-       sodipodi:type="arc"
-       transform="matrix(1.044119,0,0,0.346338,-18.44114,13.41659)" />
-    <path
-       style="opacity:1;fill:#edd400;fill-opacity:1;stroke:#c4a000;stroke-width:1.00000083;stroke-miterlimit:4;stroke-opacity:1"
-       d="M 18.436518,9.9127618 C 21.037357,10.673309 21.362289,19.501337 18.407881,19.501337 C 15.489266,19.501337 8.9905421,7.150538 18.436518,9.9127618 z "
-       id="rect2194"
-       sodipodi:nodetypes="czs" />
-    <path
-       sodipodi:type="inkscape:offset"
-       inkscape:radius="-0.96520001"
-       inkscape:original="M 15.59375 9.53125 C 10.549483 10.044796 15.852462 19.5 18.40625 19.5 C 21.360658 19.5 21.038339 10.666797 18.4375 9.90625 C 17.256753 9.560972 16.31436 9.4578863 15.59375 9.53125 z "
-       xlink:href="#rect2194"
-       style="opacity:0.5;fill:none;fill-opacity:1;stroke:#ffffff;stroke-width:1.00000024;stroke-miterlimit:4;stroke-opacity:1"
-       id="path2259"
-       inkscape:href="#rect2194"
-       d="M 16,10.75 C 15.512126,10.798024 15.253534,10.920051 15.09375,11.0625 C 14.933966,11.204949 14.83864,11.380838 14.78125,11.6875 C 14.66647,12.300825 14.844054,13.385232 15.3125,14.46875 C 15.780946,15.552268 16.512913,16.653582 17.21875,17.4375 C 17.924587,18.221418 18.67699,18.5625 18.75,18.5625 C 18.89196,18.5625 18.968845,18.54667 19.09375,18.4375 C 19.218655,18.32833 19.365593,18.098064 19.5,17.78125 C 19.768815,17.147621 19.923112,16.154119 19.90625,15.125 C 19.889388,14.095881 19.705611,13.023656 19.40625,12.25 C 19.106889,11.476344 18.724904,11.117253 18.53125,11.0625 C 17.425208,10.749781 16.582845,10.692627 16,10.75 z " />
-    <path
-       style="fill:#73d216;fill-opacity:1;stroke:#4e9a06;stroke-width:1.00000083;stroke-miterlimit:4;stroke-opacity:1"
-       d="M 13.316085,20.509475 C 10.851196,20.509475 4.3258741,14.508937 9.3204332,11.066555 C 14.310647,7.6271659 15.818731,20.509475 13.316085,20.509475 z "
-       id="rect2201"
-       sodipodi:nodetypes="czz" />
-    <path
-       style="opacity:0.25;fill:none;fill-opacity:1;stroke:#ffffff;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1"
-       d="M 10.99506,11.498797 C 10.735658,11.486846 10.370038,11.588319 9.8835883,11.932121 C 8.8737,12.645867 8.5374239,13.351301 8.4999186,14.121547 C 8.4624133,14.891791 8.7901654,15.780902 9.3391937,16.607457 C 9.8882225,17.43401 10.661309,18.195719 11.403357,18.728462 C 12.145404,19.261206 12.809412,19.500227 13.070994,19.500227 C 13.222335,19.500227 13.331682,19.0625 13.39947,18.682848 C 13.535046,17.923542 13.548476,16.808781 13.376787,15.695196 C 13.205098,14.58161 12.846108,13.444035 12.401414,12.661929 C 11.95672,11.879824 11.481565,11.52121 10.99506,11.498797 z "
-       id="path2254"
-       sodipodi:nodetypes="cssssssssc" />
-    <path
-       sodipodi:type="inkscape:offset"
-       inkscape:radius="-0.99454969"
-       inkscape:original="M 19.8125 2.53125 C 16.600144 3.1011521 12.46875 9.9375003 12.46875 9.9375 L 14.46875 14.5 C 18.173566 14.5 20.656251 12.6875 20.65625 12.6875 C 20.65625 12.6875 24.40713 4.4120618 21.125 2.6875 C 20.718044 2.4736692 20.271408 2.4498354 19.8125 2.53125 z "
-       xlink:href="#rect1317"
-       style="opacity:0.25;fill:none;fill-opacity:1;stroke:#ffffff;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1"
-       id="path2245"
-       inkscape:href="#rect1317"
-       d="M 20,3.5 C 18.995087,3.678281 17.104383,5.3426949 15.71875,7.0625 C 14.498278,8.5773128 13.796939,9.7027104 13.59375,10.03125 L 15.0625,13.375 C 17.799931,13.187054 19.57299,12.186552 19.84375,12 C 19.951969,11.755173 20.691026,10.13991 21.15625,8.125 C 21.405718,7.0445423 21.52736,5.9263632 21.4375,5.09375 C 21.34764,4.2611368 21.117806,3.8050199 20.65625,3.5625 C 20.487599,3.4738843 20.316754,3.4438049 20,3.5 z " />
-    <path
-       style="opacity:1;fill:url(#linearGradient2251);fill-opacity:1;stroke:#204a87;stroke-width:1.00000036;stroke-miterlimit:4;stroke-opacity:1"
-       d="M 1.7306799,5.8222291 C 3.0741729,3.5659039 16.882213,13.11203 11.087148,14.375153 C 5.2996209,15.636634 0.40087698,8.0555627 1.7306799,5.8222291 z "
-       id="rect2197"
-       sodipodi:nodetypes="czz" />
-    <path
-       style="opacity:0.2;fill:none;fill-opacity:1;stroke:#ffffff;stroke-width:0.99999994;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
-       d="M 2.7390794,8.1722341 C 3.0496879,9.0060223 3.6590736,9.9821112 4.4574474,10.857929 C 6.0541952,12.609562 8.35926,13.89948 10.765977,13.389526 C 11.255672,13.285765 11.400406,13.151715 11.448617,13.081331 C 11.496824,13.010949 11.537361,12.912219 11.448617,12.641053 C 11.271127,12.098721 10.521911,11.132591 9.4713148,10.219525 C 8.4207206,9.3064602 7.0856043,8.3957283 5.8462653,7.7099423 C 4.6069262,7.0241566 3.3045923,6.5498939 2.7239802,6.4956482 C 2.4148401,6.4667656 2.428471,7.3384455 2.7390794,8.1722341 z "
-       id="path2249"
-       sodipodi:nodetypes="cssssssss" />
-    <path
-       style="opacity:1;fill:url(#linearGradient1330);fill-opacity:1;stroke:#ce5d00;stroke-width:1.0000006;stroke-miterlimit:4;stroke-opacity:1"
-       d="M 12.478485,9.9508709 C 12.478485,9.9508709 17.866649,0.9861607 21.122294,2.6968071 C 24.404423,4.4213689 20.644961,12.673483 20.644961,12.673483 C 20.644961,12.673483 18.181394,14.512366 14.476578,14.512366 L 12.478485,9.9508709 z "
-       id="rect1317"
-       sodipodi:nodetypes="czccc" />
-    <path
-       sodipodi:type="inkscape:offset"
-       inkscape:radius="-0.99298751"
-       inkscape:original="M 19.8125 2.53125 C 16.600144 3.1011521 12.46875 9.9375003 12.46875 9.9375 L 14.46875 14.5 C 18.173566 14.5 20.656251 12.6875 20.65625 12.6875 C 20.65625 12.6875 24.40713 4.4120618 21.125 2.6875 C 20.718044 2.4736692 20.271408 2.4498354 19.8125 2.53125 z "
-       xlink:href="#rect1317"
-       style="opacity:0.25;fill:none;fill-opacity:1;stroke:#ffffff;stroke-width:1.0000006;stroke-miterlimit:4;stroke-opacity:1"
-       id="path1328"
-       inkscape:href="#rect1317"
-       d="M 20,3.5 C 18.994143,3.6784485 17.104459,5.3425998 15.71875,7.0625 C 14.49821,8.5773965 13.796948,9.7026949 13.59375,10.03125 L 15.0625,13.375 C 17.800353,13.18702 19.57294,12.186586 19.84375,12 C 19.951976,11.755161 20.690984,10.140091 21.15625,8.125 C 21.40574,7.0444453 21.527392,5.9266549 21.4375,5.09375 C 21.347608,4.2608451 21.11837,3.8053161 20.65625,3.5625 C 20.487225,3.4736876 20.316977,3.4437653 20,3.5 z " />
-    <path
-       sodipodi:type="arc"
-       style="opacity:1;fill:#75507b;fill-opacity:1;stroke:#5c3566;stroke-width:1.35211551;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
-       id="path2192"
-       sodipodi:cx="13.4375"
-       sodipodi:cy="15.825892"
-       sodipodi:rx="0.8035714"
-       sodipodi:ry="5.1116071"
-       d="M 14.241071 15.825892 A 0.8035714 5.1116071 0 1 1  12.633929,15.825892 A 0.8035714 5.1116071 0 1 1  14.241071 15.825892 z"
-       transform="matrix(0.603448,-0.487879,0.280285,0.679821,0.46572,8.794406)" />
-    <image
-       id="image1314"
-       height="31.456791"
-       width="30.814816"
-       sodipodi:absref="/home/hbons/Desktop/MSN_groups_butterfly.gif"
-       xlink:href="/home/hbons/Desktop/MSN_groups_butterfly.gif"
-       x="-32"
-       y="-23.456791"
-       style="opacity:0.72727272" />
-    <image
-       id="image2210"
-       height="8"
-       width="8"
-       sodipodi:absref="/home/hbons/Desktop/Gaim Refresh/Tango-Palette.png"
-       xlink:href="/home/hbons/Desktop/Gaim Refresh/Tango-Palette.png"
-       x="-16"
-       y="14" />
-  </g>
-</svg>
--- 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 \
--- /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;
+
--- 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
+
--- /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;
--- 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
--- /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 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://web.resource.org/cc/"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:xlink="http://www.w3.org/1999/xlink"
+   xmlns:sodipodi="http://inkscape.sourceforge.net/DTD/s odipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   width="24"
+   height="24"
+   id="svg1331"
+   sodipodi:version="0.32"
+   inkscape:version="0.43"
+   version="1.0"
+   inkscape:export-filename="/home/hbons/Desktop/Gaim Refresh/status/22/busy22.png"
+   inkscape:export-xdpi="90"
+   inkscape:export-ydpi="90"
+   sodipodi:docbase="/home/hbons/Desktop/Gaim Refresh/status/22/scalable"
+   sodipodi:docname="busy22.svg">
+  <defs
+     id="defs1333">
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient3816">
+      <stop
+         style="stop-color:#000000;stop-opacity:1;"
+         offset="0"
+         id="stop3818" />
+      <stop
+         style="stop-color:#000000;stop-opacity:0;"
+         offset="1"
+         id="stop3820" />
+    </linearGradient>
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3816"
+       id="radialGradient3822"
+       cx="31.112698"
+       cy="19.008621"
+       fx="31.112698"
+       fy="19.008621"
+       r="8.6620579"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient3150">
+      <stop
+         style="stop-color:#2e3436;stop-opacity:1;"
+         offset="0"
+         id="stop3152" />
+      <stop
+         style="stop-color:#2e3436;stop-opacity:0;"
+         offset="1"
+         id="stop3154" />
+    </linearGradient>
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3150"
+       id="radialGradient3156"
+       cx="10.748654"
+       cy="10.457643"
+       fx="10.748654"
+       fy="10.457643"
+       r="6.6449099"
+       gradientTransform="matrix(-0.842757,5.698892e-16,-4.565819e-9,-0.35721,19.80716,14.19321)"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient2186">
+      <stop
+         style="stop-color:#ffffff;stop-opacity:1;"
+         offset="0"
+         id="stop2188" />
+      <stop
+         style="stop-color:#ffffff;stop-opacity:0;"
+         offset="1"
+         id="stop2190" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient2239">
+      <stop
+         style="stop-color:#ffffff;stop-opacity:1;"
+         offset="0"
+         id="stop2241" />
+      <stop
+         style="stop-color:#ffffff;stop-opacity:0;"
+         offset="1"
+         id="stop2243" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2239"
+       id="linearGradient2245"
+       x1="15.535398"
+       y1="1.8014067"
+       x2="15.535398"
+       y2="48.674999"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.705322,0,0,0.705327,0.719621,0.710083)" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2186"
+       id="linearGradient2194"
+       x1="11.226587"
+       y1="-5.4832759"
+       x2="11.226587"
+       y2="17.697369"
+       gradientUnits="userSpaceOnUse" />
+  </defs>
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="31.999999"
+     inkscape:cx="19.410047"
+     inkscape:cy="11.209569"
+     inkscape:current-layer="layer1"
+     showgrid="true"
+     inkscape:grid-bbox="true"
+     inkscape:document-units="px"
+     fill="#ef2929"
+     inkscape:window-width="1268"
+     inkscape:window-height="972"
+     inkscape:window-x="6"
+     inkscape:window-y="21" />
+  <metadata
+     id="metadata1336">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     id="layer1"
+     inkscape:label="Layer 1"
+     inkscape:groupmode="layer">
+    <path
+       d="M 39.774755 19.008621 A 8.6620579 8.6620579 0 1 1  22.45064,19.008621 A 8.6620579 8.6620579 0 1 1  39.774755 19.008621 z"
+       sodipodi:ry="8.6620579"
+       sodipodi:rx="8.6620579"
+       sodipodi:cy="19.008621"
+       sodipodi:cx="31.112698"
+       id="path4318"
+       style="opacity:0.7;color:#000000;fill:url(#radialGradient3822);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+       sodipodi:type="arc"
+       transform="matrix(1.385352,0,0,0.634953,-31.10204,6.430418)" />
+    <path
+       sodipodi:type="arc"
+       style="opacity:1;color:#000000;fill:#ef2929;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.36561811px;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+       id="path1311"
+       sodipodi:cx="15.590227"
+       sodipodi:cy="16.57217"
+       sodipodi:rx="14.345175"
+       sodipodi:ry="14.345175"
+       d="M 29.935402 16.57217 A 14.345175 14.345175 0 1 1  1.2450523,16.57217 A 14.345175 14.345175 0 1 1  29.935402 16.57217 z"
+       transform="matrix(0.732268,0,0,0.732268,0.582335,-0.13671)" />
+    <path
+       sodipodi:type="arc"
+       style="opacity:1;color:#000000;fill:#ef2929;fill-opacity:1;fill-rule:evenodd;stroke:#a40000;stroke-width:1.36561811px;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+       id="path1339"
+       sodipodi:cx="15.590227"
+       sodipodi:cy="16.57217"
+       sodipodi:rx="14.345175"
+       sodipodi:ry="14.345175"
+       d="M 29.935402 16.57217 A 14.345175 14.345175 0 1 1  1.2450523,16.57217 A 14.345175 14.345175 0 1 1  29.935402 16.57217 z"
+       transform="matrix(0.732268,0,0,0.732268,0.582335,-0.13671)" />
+    <path
+       style="opacity:0.6;color:#000000;fill:url(#linearGradient2194);fill-opacity:1.0;fill-rule:evenodd;stroke:url(#linearGradient2245);stroke-width:0.99999976px;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+       d="M 21.51933,11.9953 C 21.51933,17.24738 17.256803,21.509937 12.004759,21.509937 C 6.7527164,21.509937 2.4901888,17.24738 2.4901888,11.9953 C 2.4901888,6.7432209 6.7527164,2.4806637 12.004759,2.4806637 C 17.256803,2.4806637 21.51933,6.7432209 21.51933,11.9953 z "
+       id="path2220" />
+    <path
+       transform="matrix(0.592417,0,0,0.592416,2.763254,2.183203)"
+       style="color:#000000;fill:#eeeeec;fill-opacity:1;fill-rule:evenodd;stroke:#a40000;stroke-width:1.68800032px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;visibility:visible;display:inline;overflow:visible"
+       d="M 29.935402,16.332307 C 29.935402,21.547769 26.886194,20.820029 15.205289,20.820029 C 3.5771331,20.820029 1.2450523,21.694876 1.2450523,16.57217 C 1.2450523,11.791511 3.5943507,12.340854 15.326477,12.340854 C 27.111471,12.340854 29.935402,11.169592 29.935402,16.332307 z "
+       id="path1341"
+       sodipodi:nodetypes="czczz" />
+  </g>
+</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 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!-- Created with Inkscape (http://www.inkscape.org/) -->
-<svg
-   xmlns:dc="http://purl.org/dc/elements/1.1/"
-   xmlns:cc="http://web.resource.org/cc/"
-   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
-   xmlns:svg="http://www.w3.org/2000/svg"
-   xmlns="http://www.w3.org/2000/svg"
-   xmlns:xlink="http://www.w3.org/1999/xlink"
-   xmlns:sodipodi="http://inkscape.sourceforge.net/DTD/s odipodi-0.dtd"
-   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
-   width="24"
-   height="24"
-   id="svg1331"
-   sodipodi:version="0.32"
-   inkscape:version="0.43"
-   version="1.0"
-   inkscape:export-filename="/home/hbons/Desktop/Gaim Refresh/status/22/busy22.png"
-   inkscape:export-xdpi="90"
-   inkscape:export-ydpi="90"
-   sodipodi:docbase="/home/hbons/Desktop/Gaim Refresh/status/22/scalable"
-   sodipodi:docname="busy22.svg">
-  <defs
-     id="defs1333">
-    <linearGradient
-       inkscape:collect="always"
-       id="linearGradient3816">
-      <stop
-         style="stop-color:#000000;stop-opacity:1;"
-         offset="0"
-         id="stop3818" />
-      <stop
-         style="stop-color:#000000;stop-opacity:0;"
-         offset="1"
-         id="stop3820" />
-    </linearGradient>
-    <radialGradient
-       inkscape:collect="always"
-       xlink:href="#linearGradient3816"
-       id="radialGradient3822"
-       cx="31.112698"
-       cy="19.008621"
-       fx="31.112698"
-       fy="19.008621"
-       r="8.6620579"
-       gradientUnits="userSpaceOnUse" />
-    <linearGradient
-       inkscape:collect="always"
-       id="linearGradient3150">
-      <stop
-         style="stop-color:#2e3436;stop-opacity:1;"
-         offset="0"
-         id="stop3152" />
-      <stop
-         style="stop-color:#2e3436;stop-opacity:0;"
-         offset="1"
-         id="stop3154" />
-    </linearGradient>
-    <radialGradient
-       inkscape:collect="always"
-       xlink:href="#linearGradient3150"
-       id="radialGradient3156"
-       cx="10.748654"
-       cy="10.457643"
-       fx="10.748654"
-       fy="10.457643"
-       r="6.6449099"
-       gradientTransform="matrix(-0.842757,5.698892e-16,-4.565819e-9,-0.35721,19.80716,14.19321)"
-       gradientUnits="userSpaceOnUse" />
-    <linearGradient
-       inkscape:collect="always"
-       id="linearGradient2186">
-      <stop
-         style="stop-color:#ffffff;stop-opacity:1;"
-         offset="0"
-         id="stop2188" />
-      <stop
-         style="stop-color:#ffffff;stop-opacity:0;"
-         offset="1"
-         id="stop2190" />
-    </linearGradient>
-    <linearGradient
-       inkscape:collect="always"
-       id="linearGradient2239">
-      <stop
-         style="stop-color:#ffffff;stop-opacity:1;"
-         offset="0"
-         id="stop2241" />
-      <stop
-         style="stop-color:#ffffff;stop-opacity:0;"
-         offset="1"
-         id="stop2243" />
-    </linearGradient>
-    <linearGradient
-       inkscape:collect="always"
-       xlink:href="#linearGradient2239"
-       id="linearGradient2245"
-       x1="15.535398"
-       y1="1.8014067"
-       x2="15.535398"
-       y2="48.674999"
-       gradientUnits="userSpaceOnUse"
-       gradientTransform="matrix(0.705322,0,0,0.705327,0.719621,0.710083)" />
-    <linearGradient
-       inkscape:collect="always"
-       xlink:href="#linearGradient2186"
-       id="linearGradient2194"
-       x1="11.226587"
-       y1="-5.4832759"
-       x2="11.226587"
-       y2="17.697369"
-       gradientUnits="userSpaceOnUse" />
-  </defs>
-  <sodipodi:namedview
-     id="base"
-     pagecolor="#ffffff"
-     bordercolor="#666666"
-     borderopacity="1.0"
-     inkscape:pageopacity="0.0"
-     inkscape:pageshadow="2"
-     inkscape:zoom="31.999999"
-     inkscape:cx="19.410047"
-     inkscape:cy="11.209569"
-     inkscape:current-layer="layer1"
-     showgrid="true"
-     inkscape:grid-bbox="true"
-     inkscape:document-units="px"
-     fill="#ef2929"
-     inkscape:window-width="1268"
-     inkscape:window-height="972"
-     inkscape:window-x="6"
-     inkscape:window-y="21" />
-  <metadata
-     id="metadata1336">
-    <rdf:RDF>
-      <cc:Work
-         rdf:about="">
-        <dc:format>image/svg+xml</dc:format>
-        <dc:type
-           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
-      </cc:Work>
-    </rdf:RDF>
-  </metadata>
-  <g
-     id="layer1"
-     inkscape:label="Layer 1"
-     inkscape:groupmode="layer">
-    <path
-       d="M 39.774755 19.008621 A 8.6620579 8.6620579 0 1 1  22.45064,19.008621 A 8.6620579 8.6620579 0 1 1  39.774755 19.008621 z"
-       sodipodi:ry="8.6620579"
-       sodipodi:rx="8.6620579"
-       sodipodi:cy="19.008621"
-       sodipodi:cx="31.112698"
-       id="path4318"
-       style="opacity:0.7;color:#000000;fill:url(#radialGradient3822);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
-       sodipodi:type="arc"
-       transform="matrix(1.385352,0,0,0.634953,-31.10204,6.430418)" />
-    <path
-       sodipodi:type="arc"
-       style="opacity:1;color:#000000;fill:#ef2929;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.36561811px;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
-       id="path1311"
-       sodipodi:cx="15.590227"
-       sodipodi:cy="16.57217"
-       sodipodi:rx="14.345175"
-       sodipodi:ry="14.345175"
-       d="M 29.935402 16.57217 A 14.345175 14.345175 0 1 1  1.2450523,16.57217 A 14.345175 14.345175 0 1 1  29.935402 16.57217 z"
-       transform="matrix(0.732268,0,0,0.732268,0.582335,-0.13671)" />
-    <path
-       sodipodi:type="arc"
-       style="opacity:1;color:#000000;fill:#ef2929;fill-opacity:1;fill-rule:evenodd;stroke:#a40000;stroke-width:1.36561811px;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
-       id="path1339"
-       sodipodi:cx="15.590227"
-       sodipodi:cy="16.57217"
-       sodipodi:rx="14.345175"
-       sodipodi:ry="14.345175"
-       d="M 29.935402 16.57217 A 14.345175 14.345175 0 1 1  1.2450523,16.57217 A 14.345175 14.345175 0 1 1  29.935402 16.57217 z"
-       transform="matrix(0.732268,0,0,0.732268,0.582335,-0.13671)" />
-    <path
-       style="opacity:0.6;color:#000000;fill:url(#linearGradient2194);fill-opacity:1.0;fill-rule:evenodd;stroke:url(#linearGradient2245);stroke-width:0.99999976px;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
-       d="M 21.51933,11.9953 C 21.51933,17.24738 17.256803,21.509937 12.004759,21.509937 C 6.7527164,21.509937 2.4901888,17.24738 2.4901888,11.9953 C 2.4901888,6.7432209 6.7527164,2.4806637 12.004759,2.4806637 C 17.256803,2.4806637 21.51933,6.7432209 21.51933,11.9953 z "
-       id="path2220" />
-    <path
-       transform="matrix(0.592417,0,0,0.592416,2.763254,2.183203)"
-       style="color:#000000;fill:#eeeeec;fill-opacity:1;fill-rule:evenodd;stroke:#a40000;stroke-width:1.68800032px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;visibility:visible;display:inline;overflow:visible"
-       d="M 29.935402,16.332307 C 29.935402,21.547769 26.886194,20.820029 15.205289,20.820029 C 3.5771331,20.820029 1.2450523,21.694876 1.2450523,16.57217 C 1.2450523,11.791511 3.5943507,12.340854 15.326477,12.340854 C 27.111471,12.340854 29.935402,11.169592 29.935402,16.332307 z "
-       id="path1341"
-       sodipodi:nodetypes="czczz" />
-  </g>
-</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 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://web.resource.org/cc/"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:xlink="http://www.w3.org/1999/xlink"
+   xmlns:sodipodi="http://inkscape.sourceforge.net/DTD/s odipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   width="24"
+   height="24"
+   id="svg2"
+   sodipodi:version="0.32"
+   inkscape:version="0.43"
+   version="1.0"
+   sodipodi:docbase="/home/hbons/Desktop/Gaim Refresh/status/22/scalable"
+   sodipodi:docname="offline22.svg"
+   inkscape:export-filename="/home/hbons/Desktop/Gaim Refresh/status/offline.png"
+   inkscape:export-xdpi="90"
+   inkscape:export-ydpi="90">
+  <defs
+     id="defs4">
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient3816">
+      <stop
+         style="stop-color:#000000;stop-opacity:1;"
+         offset="0"
+         id="stop3818" />
+      <stop
+         style="stop-color:#000000;stop-opacity:0;"
+         offset="1"
+         id="stop3820" />
+    </linearGradient>
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3816"
+       id="radialGradient3822"
+       cx="31.112698"
+       cy="19.008621"
+       fx="31.112698"
+       fy="19.008621"
+       r="8.6620579"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient3150">
+      <stop
+         style="stop-color:#2e3436;stop-opacity:1;"
+         offset="0"
+         id="stop3152" />
+      <stop
+         style="stop-color:#2e3436;stop-opacity:0;"
+         offset="1"
+         id="stop3154" />
+    </linearGradient>
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3150"
+       id="radialGradient3156"
+       cx="10.748654"
+       cy="10.457643"
+       fx="10.748654"
+       fy="10.457643"
+       r="6.6449099"
+       gradientTransform="matrix(-0.842757,5.698892e-16,-4.565819e-9,-0.35721,19.80716,14.19321)"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient2235">
+      <stop
+         style="stop-color:#babdb6;stop-opacity:1;"
+         offset="0"
+         id="stop2237" />
+      <stop
+         style="stop-color:#babdb6;stop-opacity:0;"
+         offset="1"
+         id="stop2239" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient2225">
+      <stop
+         style="stop-color:#eeeeec;stop-opacity:1;"
+         offset="0"
+         id="stop2227" />
+      <stop
+         style="stop-color:#eeeeec;stop-opacity:0;"
+         offset="1"
+         id="stop2229" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2225"
+       id="linearGradient2231"
+       x1="11.802028"
+       y1="1.9986149"
+       x2="11.802028"
+       y2="14.895812"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2235"
+       id="linearGradient2270"
+       gradientUnits="userSpaceOnUse"
+       x1="12.00096"
+       y1="18.000015"
+       x2="12.00096"
+       y2="12.421011" />
+  </defs>
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="20.899939"
+     inkscape:cx="21.212814"
+     inkscape:cy="11.149734"
+     inkscape:document-units="px"
+     inkscape:current-layer="layer1"
+     showgrid="true"
+     fill="#888a85"
+     inkscape:window-width="1268"
+     inkscape:window-height="971"
+     inkscape:window-x="6"
+     inkscape:window-y="21" />
+  <metadata
+     id="metadata7">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     inkscape:label="Layer 1"
+     inkscape:groupmode="layer"
+     id="layer1">
+    <path
+       d="M 39.774755 19.008621 A 8.6620579 8.6620579 0 1 1  22.45064,19.008621 A 8.6620579 8.6620579 0 1 1  39.774755 19.008621 z"
+       sodipodi:ry="8.6620579"
+       sodipodi:rx="8.6620579"
+       sodipodi:cy="19.008621"
+       sodipodi:cx="31.112698"
+       id="path4318"
+       style="opacity:0.7;color:#000000;fill:url(#radialGradient3822);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+       sodipodi:type="arc"
+       transform="matrix(1.385352,0,0,0.634953,-31.10204,6.430418)" />
+    <path
+       style="fill:#888a85;fill-opacity:1;stroke:#555753;stroke-width:0.99999809;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 19.424962,19.424965 C 15.325526,23.524403 8.6720624,23.525096 4.5734814,19.426514 C 0.47490009,15.327931 0.47559413,8.6744652 4.5750306,4.5750271 C 8.6744668,0.4755893 15.32793,0.47489516 19.426511,4.573478 C 23.525092,8.6720606 23.524399,15.325527 19.424962,19.424965 z "
+       id="path2187" />
+    <path
+       sodipodi:type="inkscape:offset"
+       inkscape:radius="-1.0137641"
+       inkscape:original="M 12 1.5 C 9.311882 1.5002804 6.612218 2.5127812 4.5625 4.5625 C 0.46306353 8.6619381 0.46391853 15.338917 4.5625 19.4375 C 8.661081 23.536082 15.338065 23.536938 19.4375 19.4375 C 23.536937 15.338062 23.53608 8.6610824 19.4375 4.5625 C 17.388209 2.5132086 14.688118 1.4997196 12 1.5 z "
+       xlink:href="#path2187"
+       style="fill:url(#linearGradient2231);fill-opacity:1.0;stroke:#ffffff;stroke-width:0.99999809;stroke-miterlimit:4;stroke-opacity:1;opacity:0.4"
+       id="path2215"
+       inkscape:href="#path2187"
+       d="M 12,2.5 C 9.5663798,2.5002539 7.1342728,3.4282024 5.28125,5.28125 C 1.5710546,8.9914951 1.5718911,15.009341 5.28125,18.71875 C 8.9905967,22.428146 15.008567,22.428982 18.71875,18.71875 C 22.428945,15.008505 22.428107,8.990658 18.71875,5.28125 C 16.86613,3.4286052 14.43323,2.4997462 12,2.5 z " />
+    <path
+       style="opacity:1;fill:#eeeeec;fill-opacity:1;stroke:none;stroke-width:1.00000036;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="M 15.713272,5.1062978 L 12.00096,8.8186095 L 8.2886482,5.1062978 L 5.0182784,8.3766676 L 8.7305901,12.088979 L 5.1066667,15.712903 L 8.3770366,18.983273 L 12.00096,15.359349 L 15.602786,18.961176 L 18.873156,15.690806 L 15.27133,12.088979 L 18.983642,8.3766676 L 15.713272,5.1062978 z "
+       id="path2233" />
+    <path
+       style="opacity:1;fill:url(#linearGradient2270);fill-opacity:1;stroke:#555753;stroke-width:1.00000036;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="M 15.713272,5.1062978 L 12.00096,8.8186095 L 8.2886482,5.1062978 L 5.0182784,8.3766676 L 8.7305901,12.088979 L 5.1066667,15.712903 L 8.3770366,18.983273 L 12.00096,15.359349 L 15.602786,18.961176 L 18.873156,15.690806 L 15.27133,12.088979 L 18.983642,8.3766676 L 15.713272,5.1062978 z "
+       id="rect2204" />
+    <path
+       sodipodi:type="inkscape:offset"
+       inkscape:radius="-1.0009557"
+       inkscape:original="M 8.28125 5.09375 L 5.03125 8.375 L 8.71875 12.09375 L 5.09375 15.71875 L 8.375 18.96875 L 12 15.34375 L 15.59375 18.96875 L 18.875 15.6875 L 15.28125 12.09375 L 18.96875 8.375 L 15.71875 5.09375 L 12 8.8125 L 8.28125 5.09375 z "
+       xlink:href="#rect2204"
+       style="opacity:1;fill:none;fill-opacity:1;stroke:#e1e1e1;stroke-width:1.00000036;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2268"
+       inkscape:href="#rect2204"
+       d="M 8.28125,6.53125 L 6.46875,8.375 L 9.4375,11.375 C 9.6319915,11.563548 9.7417695,11.822867 9.7417695,12.09375 C 9.7417695,12.364633 9.6319915,12.623952 9.4375,12.8125 L 6.53125,15.71875 L 8.375,17.53125 L 11.28125,14.625 C 11.469798,14.430508 11.729117,14.320731 12,14.320731 C 12.270883,14.320731 12.530202,14.430508 12.71875,14.625 L 15.59375,17.53125 L 17.4375,15.6875 L 14.5625,12.8125 C 14.368008,12.623952 14.258231,12.364633 14.258231,12.09375 C 14.258231,11.822867 14.368008,11.563548 14.5625,11.375 L 17.53125,8.375 L 15.71875,6.53125 L 12.71875,9.53125 C 12.530202,9.7257415 12.270883,9.8355195 12,9.8355195 C 11.729117,9.8355195 11.469798,9.7257415 11.28125,9.53125 L 8.28125,6.53125 z " />
+  </g>
+</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 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!-- Created with Inkscape (http://www.inkscape.org/) -->
-<svg
-   xmlns:dc="http://purl.org/dc/elements/1.1/"
-   xmlns:cc="http://web.resource.org/cc/"
-   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
-   xmlns:svg="http://www.w3.org/2000/svg"
-   xmlns="http://www.w3.org/2000/svg"
-   xmlns:xlink="http://www.w3.org/1999/xlink"
-   xmlns:sodipodi="http://inkscape.sourceforge.net/DTD/s odipodi-0.dtd"
-   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
-   width="24"
-   height="24"
-   id="svg2"
-   sodipodi:version="0.32"
-   inkscape:version="0.43"
-   version="1.0"
-   sodipodi:docbase="/home/hbons/Desktop/Gaim Refresh/status/22/scalable"
-   sodipodi:docname="offline22.svg"
-   inkscape:export-filename="/home/hbons/Desktop/Gaim Refresh/status/offline.png"
-   inkscape:export-xdpi="90"
-   inkscape:export-ydpi="90">
-  <defs
-     id="defs4">
-    <linearGradient
-       inkscape:collect="always"
-       id="linearGradient3816">
-      <stop
-         style="stop-color:#000000;stop-opacity:1;"
-         offset="0"
-         id="stop3818" />
-      <stop
-         style="stop-color:#000000;stop-opacity:0;"
-         offset="1"
-         id="stop3820" />
-    </linearGradient>
-    <radialGradient
-       inkscape:collect="always"
-       xlink:href="#linearGradient3816"
-       id="radialGradient3822"
-       cx="31.112698"
-       cy="19.008621"
-       fx="31.112698"
-       fy="19.008621"
-       r="8.6620579"
-       gradientUnits="userSpaceOnUse" />
-    <linearGradient
-       inkscape:collect="always"
-       id="linearGradient3150">
-      <stop
-         style="stop-color:#2e3436;stop-opacity:1;"
-         offset="0"
-         id="stop3152" />
-      <stop
-         style="stop-color:#2e3436;stop-opacity:0;"
-         offset="1"
-         id="stop3154" />
-    </linearGradient>
-    <radialGradient
-       inkscape:collect="always"
-       xlink:href="#linearGradient3150"
-       id="radialGradient3156"
-       cx="10.748654"
-       cy="10.457643"
-       fx="10.748654"
-       fy="10.457643"
-       r="6.6449099"
-       gradientTransform="matrix(-0.842757,5.698892e-16,-4.565819e-9,-0.35721,19.80716,14.19321)"
-       gradientUnits="userSpaceOnUse" />
-    <linearGradient
-       inkscape:collect="always"
-       id="linearGradient2235">
-      <stop
-         style="stop-color:#babdb6;stop-opacity:1;"
-         offset="0"
-         id="stop2237" />
-      <stop
-         style="stop-color:#babdb6;stop-opacity:0;"
-         offset="1"
-         id="stop2239" />
-    </linearGradient>
-    <linearGradient
-       inkscape:collect="always"
-       id="linearGradient2225">
-      <stop
-         style="stop-color:#eeeeec;stop-opacity:1;"
-         offset="0"
-         id="stop2227" />
-      <stop
-         style="stop-color:#eeeeec;stop-opacity:0;"
-         offset="1"
-         id="stop2229" />
-    </linearGradient>
-    <linearGradient
-       inkscape:collect="always"
-       xlink:href="#linearGradient2225"
-       id="linearGradient2231"
-       x1="11.802028"
-       y1="1.9986149"
-       x2="11.802028"
-       y2="14.895812"
-       gradientUnits="userSpaceOnUse" />
-    <linearGradient
-       inkscape:collect="always"
-       xlink:href="#linearGradient2235"
-       id="linearGradient2270"
-       gradientUnits="userSpaceOnUse"
-       x1="12.00096"
-       y1="18.000015"
-       x2="12.00096"
-       y2="12.421011" />
-  </defs>
-  <sodipodi:namedview
-     id="base"
-     pagecolor="#ffffff"
-     bordercolor="#666666"
-     borderopacity="1.0"
-     inkscape:pageopacity="0.0"
-     inkscape:pageshadow="2"
-     inkscape:zoom="20.899939"
-     inkscape:cx="21.212814"
-     inkscape:cy="11.149734"
-     inkscape:document-units="px"
-     inkscape:current-layer="layer1"
-     showgrid="true"
-     fill="#888a85"
-     inkscape:window-width="1268"
-     inkscape:window-height="971"
-     inkscape:window-x="6"
-     inkscape:window-y="21" />
-  <metadata
-     id="metadata7">
-    <rdf:RDF>
-      <cc:Work
-         rdf:about="">
-        <dc:format>image/svg+xml</dc:format>
-        <dc:type
-           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
-      </cc:Work>
-    </rdf:RDF>
-  </metadata>
-  <g
-     inkscape:label="Layer 1"
-     inkscape:groupmode="layer"
-     id="layer1">
-    <path
-       d="M 39.774755 19.008621 A 8.6620579 8.6620579 0 1 1  22.45064,19.008621 A 8.6620579 8.6620579 0 1 1  39.774755 19.008621 z"
-       sodipodi:ry="8.6620579"
-       sodipodi:rx="8.6620579"
-       sodipodi:cy="19.008621"
-       sodipodi:cx="31.112698"
-       id="path4318"
-       style="opacity:0.7;color:#000000;fill:url(#radialGradient3822);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
-       sodipodi:type="arc"
-       transform="matrix(1.385352,0,0,0.634953,-31.10204,6.430418)" />
-    <path
-       style="fill:#888a85;fill-opacity:1;stroke:#555753;stroke-width:0.99999809;stroke-miterlimit:4;stroke-opacity:1"
-       d="M 19.424962,19.424965 C 15.325526,23.524403 8.6720624,23.525096 4.5734814,19.426514 C 0.47490009,15.327931 0.47559413,8.6744652 4.5750306,4.5750271 C 8.6744668,0.4755893 15.32793,0.47489516 19.426511,4.573478 C 23.525092,8.6720606 23.524399,15.325527 19.424962,19.424965 z "
-       id="path2187" />
-    <path
-       sodipodi:type="inkscape:offset"
-       inkscape:radius="-1.0137641"
-       inkscape:original="M 12 1.5 C 9.311882 1.5002804 6.612218 2.5127812 4.5625 4.5625 C 0.46306353 8.6619381 0.46391853 15.338917 4.5625 19.4375 C 8.661081 23.536082 15.338065 23.536938 19.4375 19.4375 C 23.536937 15.338062 23.53608 8.6610824 19.4375 4.5625 C 17.388209 2.5132086 14.688118 1.4997196 12 1.5 z "
-       xlink:href="#path2187"
-       style="fill:url(#linearGradient2231);fill-opacity:1.0;stroke:#ffffff;stroke-width:0.99999809;stroke-miterlimit:4;stroke-opacity:1;opacity:0.4"
-       id="path2215"
-       inkscape:href="#path2187"
-       d="M 12,2.5 C 9.5663798,2.5002539 7.1342728,3.4282024 5.28125,5.28125 C 1.5710546,8.9914951 1.5718911,15.009341 5.28125,18.71875 C 8.9905967,22.428146 15.008567,22.428982 18.71875,18.71875 C 22.428945,15.008505 22.428107,8.990658 18.71875,5.28125 C 16.86613,3.4286052 14.43323,2.4997462 12,2.5 z " />
-    <path
-       style="opacity:1;fill:#eeeeec;fill-opacity:1;stroke:none;stroke-width:1.00000036;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
-       d="M 15.713272,5.1062978 L 12.00096,8.8186095 L 8.2886482,5.1062978 L 5.0182784,8.3766676 L 8.7305901,12.088979 L 5.1066667,15.712903 L 8.3770366,18.983273 L 12.00096,15.359349 L 15.602786,18.961176 L 18.873156,15.690806 L 15.27133,12.088979 L 18.983642,8.3766676 L 15.713272,5.1062978 z "
-       id="path2233" />
-    <path
-       style="opacity:1;fill:url(#linearGradient2270);fill-opacity:1;stroke:#555753;stroke-width:1.00000036;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
-       d="M 15.713272,5.1062978 L 12.00096,8.8186095 L 8.2886482,5.1062978 L 5.0182784,8.3766676 L 8.7305901,12.088979 L 5.1066667,15.712903 L 8.3770366,18.983273 L 12.00096,15.359349 L 15.602786,18.961176 L 18.873156,15.690806 L 15.27133,12.088979 L 18.983642,8.3766676 L 15.713272,5.1062978 z "
-       id="rect2204" />
-    <path
-       sodipodi:type="inkscape:offset"
-       inkscape:radius="-1.0009557"
-       inkscape:original="M 8.28125 5.09375 L 5.03125 8.375 L 8.71875 12.09375 L 5.09375 15.71875 L 8.375 18.96875 L 12 15.34375 L 15.59375 18.96875 L 18.875 15.6875 L 15.28125 12.09375 L 18.96875 8.375 L 15.71875 5.09375 L 12 8.8125 L 8.28125 5.09375 z "
-       xlink:href="#rect2204"
-       style="opacity:1;fill:none;fill-opacity:1;stroke:#e1e1e1;stroke-width:1.00000036;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
-       id="path2268"
-       inkscape:href="#rect2204"
-       d="M 8.28125,6.53125 L 6.46875,8.375 L 9.4375,11.375 C 9.6319915,11.563548 9.7417695,11.822867 9.7417695,12.09375 C 9.7417695,12.364633 9.6319915,12.623952 9.4375,12.8125 L 6.53125,15.71875 L 8.375,17.53125 L 11.28125,14.625 C 11.469798,14.430508 11.729117,14.320731 12,14.320731 C 12.270883,14.320731 12.530202,14.430508 12.71875,14.625 L 15.59375,17.53125 L 17.4375,15.6875 L 14.5625,12.8125 C 14.368008,12.623952 14.258231,12.364633 14.258231,12.09375 C 14.258231,11.822867 14.368008,11.563548 14.5625,11.375 L 17.53125,8.375 L 15.71875,6.53125 L 12.71875,9.53125 C 12.530202,9.7257415 12.270883,9.8355195 12,9.8355195 C 11.729117,9.8355195 11.469798,9.7257415 11.28125,9.53125 L 8.28125,6.53125 z " />
-  </g>
-</svg>
--- 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
--- 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);