diff options
Diffstat (limited to 'protocols')
| -rw-r--r-- | protocols/nogaim.c | 16 | 
1 files changed, 14 insertions, 2 deletions
| diff --git a/protocols/nogaim.c b/protocols/nogaim.c index 9ebd048e..d7b26b74 100644 --- a/protocols/nogaim.c +++ b/protocols/nogaim.c @@ -585,8 +585,20 @@ void imcb_buddy_status( struct im_connection *ic, const char *handle, int flags,  	    ( ( ( u->online != oo ) && !u->away ) ||			/* Voice joining people */  	      ( ( u->online == oo ) && ( oa == !u->away ) ) ) )		/* (De)voice people changing state */  	{ -		irc_write( ic->irc, ":%s MODE %s %cv %s", ic->irc->myhost, -		                                          ic->irc->channel, u->away?'-':'+', u->nick ); +		char *from; +		 +		if( set_getbool( &ic->irc->set, "simulate_netsplit" ) ) +		{ +			from = g_strdup( ic->irc->myhost ); +		} +		else +		{ +			from = g_strdup_printf( "%s!%s@%s", ic->irc->mynick, ic->irc->mynick, +			                                    ic->irc->myhost ); +		} +		irc_write( ic->irc, ":%s MODE %s %cv %s", from, ic->irc->channel, +		                                          u->away?'-':'+', u->nick ); +		g_free( from );  	}  } | 
