From e50535a64e5a09066af9f10a2ac7177726502b1b Mon Sep 17 00:00:00 2001 From: Timo Sirainen Date: Fri, 29 Dec 2000 19:22:00 +0000 Subject: Irssi::signal_emit() was broken. git-svn-id: http://svn.irssi.org/repos/irssi/trunk@1027 dbcabf3a-b0e7-0310-adc4-f8d773084564 --- src/perl/common/Core.xs | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'src/perl/common/Core.xs') diff --git a/src/perl/common/Core.xs b/src/perl/common/Core.xs index cef0ff24..1f8993e9 100644 --- a/src/perl/common/Core.xs +++ b/src/perl/common/Core.xs @@ -11,7 +11,12 @@ CODE: memset(p, 0, sizeof(p)); for (n = 1; n < items && n < 7; n++) { - p[n-1] = SvPOKp(ST(n)) ? SvPV(ST(n), n_a) : (void *) SvIV((SV*)SvRV(ST(n))); + if (SvPOKp(ST(n))) + p[n-1] = SvPV(ST(n), n_a); + else if (irssi_is_ref_object(ST(n))) + p[n-1] = irssi_ref_object(ST(n)); + else + p[n-1] = (void *) SvIV((SV*)SvRV(ST(n))); } signal_emit(signal, items-1, p[0], p[1], p[2], p[3], p[4], p[5], p[6]); -- cgit v1.2.3