view libpurple/plugins/tcl/signal-test.tcl @ 30590:485eaf544bb0

Beginning a file transfer multiple times leaks file handles. Add some debugging and guarding to detect and avoid that. This is only part of the full fix (mostly to help bring attention to the problem) The real problem is that in the MSN prpl (and possibly others), file transfers are started multiple times. This happens for every file transfer over MSN that I've tested. Refs #12660
author Daniel Atallah <daniel.atallah@gmail.com>
date Thu, 07 Oct 2010 03:32:53 +0000
parents f4c72a722741
children
line wrap: on
line source

purple::signal connect [purple::account handle] account-away { account state message } {
	purple::debug -info "tcl signal" "account-away [purple::account username $account] \"$state\" \"$message\""
}

purple::signal connect [purple::account handle] account-connecting { account } {
	purple::debug -info "tcl signal" "account-connecting [purple::account username $account]"
}

purple::signal connect [purple::account handle] account-set-info { account info } {
	purple::debug -info "tcl signal" "account-set-info [purple::account username $account] $info"
}

purple::signal connect [purple::account handle] account-setting-info { account info } {
	purple::debug -info "tcl signal" "account-set-info [purple::account username $account] $info"
}

purple::signal connect [purple::buddy handle] buddy-away { buddy } {
	purple::debug -info "tcl signal" "buddy-away [purple::account username [lindex $buddy 2]] [lindex $buddy 1]"
}

purple::signal connect [purple::buddy handle] buddy-back { buddy } {
	purple::debug -info "tcl signal" "buddy-back [purple::account username [lindex $buddy 2]] [lindex $buddy 1]"
}

purple::signal connect [purple::buddy handle] buddy-idle { buddy } {
	purple::debug -info "tcl signal" "buddy-idle [purple::account username [lindex $buddy 2]] [lindex $buddy 1]"
}

purple::signal connect [purple::buddy handle] buddy-unidle { buddy } {
	purple::debug -info "tcl signal" "buddy-unidle [purple::account username [lindex $buddy 2]] [lindex $buddy 1]"
}

purple::signal connect [purple::buddy handle] buddy-signed-on { buddy } {
	purple::debug -info "tcl signal" "buddy-signed-on [purple::account username [lindex $buddy 2]] [lindex $buddy 1]"
}

purple::signal connect [purple::buddy handle] buddy-signed-off { buddy } {
	purple::debug -info "tcl signal" "buddy-signed-off [purple::account username [lindex $buddy 2]] [lindex $buddy 1]"
}

purple::signal connect [purple::core handle] quitting {} {
	purple::debug -info "tcl signal" "quitting"
}

purple::signal connect [purple::conversation handle] receiving-chat-msg { account who what id flags } {
	purple::debug -info "tcl signal" "receiving-chat-msg [purple::account username $account] $id $flags $who \"$what\""
	return 0
}

purple::signal connect [purple::conversation handle] receiving-im-msg { account who what id flags } {
	purple::debug -info "tcl signal" "receiving-im-msg [purple::account username $account] $id $flags $who \"$what\""
	return 0
}

purple::signal connect [purple::conversation handle] received-chat-msg { account who what id flags } {
	purple::debug -info "tcl signal" "received-chat-msg [purple::account username $account] $id $flags $who \"$what\""
}

purple::signal connect [purple::conversation handle] received-im-msg { account who what id flags } {
	purple::debug -info "tcl signal" "received-im-msg [purple::account username $account] $id $flags $who \"$what\""
}

purple::signal connect [purple::conversation handle] sending-chat-msg { account what id } {
	purple::debug -info "tcl signal" "sending-chat-msg [purple::account username $account] $id \"$what\""
	return 0
}

purple::signal connect [purple::conversation handle] sending-im-msg { account who what } {
	purple::debug -info "tcl signal" "sending-im-msg [purple::account username $account] $who \"$what\""
	return 0
}

purple::signal connect [purple::conversation handle] sent-chat-msg { account id what } {
	purple::debug -info "tcl signal" "sent-chat-msg [purple::account username $account] $id \"$what\""
}

purple::signal connect [purple::conversation handle] sent-im-msg { account who what } {
	purple::debug -info "tcl signal" "sent-im-msg [purple::account username $account] $who \"$what\""
}

purple::signal connect [purple::connection handle] signed-on { gc } {
	purple::debug -info "tcl signal" "signed-on [purple::account username [purple::connection account $gc]]"
}

purple::signal connect [purple::connection handle] signed-off { gc } {
	purple::debug -info "tcl signal" "signed-off [purple::account username [purple::connection account $gc]]"
}

purple::signal connect [purple::connection handle] signing-on { gc } {
	purple::debug -info "tcl signal" "signing-on [purple::account username [purple::connection account $gc]]"
}

if { 0 } {
purple::signal connect signing-off {
	purple::debug -info "tcl signal" "signing-off [purple::account username [purple::connection account $event::gc]]"
}

purple::signal connect update-idle {
	purple::debug -info "tcl signal" "update-idle"
}
}

purple::signal connect [purple::plugins handle] plugin-load args {
	purple::debug -info "tcl signal" "plugin-load [list $args]"
}

purple::signal connect [purple::plugins handle] plugin-unload args {
	purple::debug -info "tcl signal" "plugin-unload [list $args]"
}

purple::signal connect [purple::savedstatuses handle] savedstatus-changed args {
	purple::debug -info "tcl signal" "savedstatus-changed [list $args]"
	purple::debug -info "tcl signal" "purple::savedstatus current = [purple::savedstatus current]"
}

proc plugin_init { } {
	list "Tcl Signal Test" \
             "$purple::version" \
	     "Tests Tcl signal handlers" \
             "Debugs a ridiculous amount of signal information." \
             "Ethan Blanton <elb@pidgin.im>" \
             "http://www.pidgin.im/"
}