diff options
author | brain <brain@e03df62e-2008-0410-955e-edbf42e46eb7> | 2007-01-06 16:15:35 +0000 |
---|---|---|
committer | brain <brain@e03df62e-2008-0410-955e-edbf42e46eb7> | 2007-01-06 16:15:35 +0000 |
commit | 02ccf82812a189c46d0495580b7d96ada34851b5 (patch) | |
tree | 90442e19db8dfa608f45b168184035ecdc8ccf80 /src/modes/cmode_h.cpp | |
parent | 7e9d08ec1cb2e01eaca8793eda1d06e05a38fa24 (diff) |
Fix desync with halfop and voice when opped (this happens because we were ORing the wrong value in chanrec::ForceChan)
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6232 e03df62e-2008-0410-955e-edbf42e46eb7
Diffstat (limited to 'src/modes/cmode_h.cpp')
-rw-r--r-- | src/modes/cmode_h.cpp | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/modes/cmode_h.cpp b/src/modes/cmode_h.cpp index 9bd061cd2..a77366c82 100644 --- a/src/modes/cmode_h.cpp +++ b/src/modes/cmode_h.cpp @@ -84,6 +84,8 @@ ModeAction ModeChannelHalfOp::OnModeChange(userrec* source, userrec* dest, chanr int status = channel->GetStatus(source); + ServerInstance->Log(DEBUG,"Halfop handler, source=%s channel=%s parameter=%s adding=%d",source->nick, channel->name, parameter.c_str(), adding); + /* Call the correct method depending on wether we're adding or removing the mode */ if (adding) { @@ -108,6 +110,8 @@ std::string ModeChannelHalfOp::AddHalfOp(userrec *user,const char* dest,chanrec { userrec *d = ServerInstance->Modes->SanityChecks(user,dest,chan,status); + ServerInstance->Log(DEBUG,"Add halfop"); + if (d) { if (IS_LOCAL(user)) @@ -127,6 +131,7 @@ std::string ModeChannelHalfOp::AddHalfOp(userrec *user,const char* dest,chanrec } } + ServerInstance->Log(DEBUG,"Calling Grant"); return ServerInstance->Modes->Grant(d,chan,UCMODE_HOP); } return ""; @@ -136,6 +141,8 @@ std::string ModeChannelHalfOp::DelHalfOp(userrec *user,const char *dest,chanrec { userrec *d = ServerInstance->Modes->SanityChecks(user,dest,chan,status); + ServerInstance->Log(DEBUG,"Del halfop"); + if (d) { if (IS_LOCAL(user)) @@ -155,6 +162,7 @@ std::string ModeChannelHalfOp::DelHalfOp(userrec *user,const char *dest,chanrec } } + ServerInstance->Log(DEBUG,"Calling revoke"); return ServerInstance->Modes->Revoke(d,chan,UCMODE_HOP); } return ""; |