diff -r 52538a5ed85d -r 9ee7a49bf619 plugins/tcl/tcl_signals.c --- a/plugins/tcl/tcl_signals.c Tue Jul 11 16:11:30 2006 +0000 +++ b/plugins/tcl/tcl_signals.c Tue Jul 11 16:22:28 2006 +0000 @@ -143,8 +143,12 @@ return GaimTclRefConnection; case GAIM_SUBTYPE_CONVERSATION: return GaimTclRefConversation; + case GAIM_SUBTYPE_PLUGIN: + return GaimTclRefPlugin; case GAIM_SUBTYPE_STATUS: return GaimTclRefStatus; + case GAIM_SUBTYPE_XFER: + return GaimTclRefXfer; default: return NULL; } @@ -270,22 +274,12 @@ case GAIM_SUBTYPE_CONNECTION: case GAIM_SUBTYPE_CONVERSATION: case GAIM_SUBTYPE_STATUS: + case GAIM_SUBTYPE_PLUGIN: + case GAIM_SUBTYPE_XFER: if (gaim_value_is_outgoing(handler->argtypes[i])) gaim_debug_error("tcl", "pointer subtypes do not currently support outgoing arguments\n"); arg = gaim_tcl_ref_new(ref_type(gaim_value_get_subtype(handler->argtypes[i])), va_arg(args, void *)); break; - case GAIM_SUBTYPE_PLUGIN: - case GAIM_SUBTYPE_XFER: - /* pointers again */ - if (gaim_value_is_outgoing(handler->argtypes[i])) { - vals[i] = va_arg(args, void **); - Tcl_LinkVar(handler->interp, name->str, - vals[i], TCL_LINK_INT); - arg = Tcl_NewStringObj(name->str, -1); - } else { - arg = Tcl_NewIntObj((int)va_arg(args, void *)); - } - break; case GAIM_SUBTYPE_BLIST: case GAIM_SUBTYPE_BLIST_BUDDY: case GAIM_SUBTYPE_BLIST_GROUP: