From d7512156e886df521c5f40afb52f6260d77d5636 Mon Sep 17 00:00:00 2001 From: Scott Ehlert Date: Sat, 21 Jul 2007 21:48:26 +0000 Subject: [PATCH] Fixed amb667 - Forward called twice when returning Plugin_Stop in ET_Hook --HG-- extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%401146 --- core/systems/ForwardSys.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/core/systems/ForwardSys.cpp b/core/systems/ForwardSys.cpp index 321b4757..b73b331d 100644 --- a/core/systems/ForwardSys.cpp +++ b/core/systems/ForwardSys.cpp @@ -351,8 +351,7 @@ int CForward::Execute(cell_t *result, IForwardFilter *filter) high_result = cur_result; if ((ResultType)high_result == Pl_Stop) { - iter = m_functions.end(); - break; + goto done; } } break; @@ -363,7 +362,7 @@ int CForward::Execute(cell_t *result, IForwardFilter *filter) { if (filter->OnFunctionReturn(this, func, &cur_result) == Pl_Stop) { - iter = m_functions.end(); + goto done; } } break; @@ -376,6 +375,7 @@ int CForward::Execute(cell_t *result, IForwardFilter *filter) } } +done: if (success) { if (m_ExecType == ET_Event || m_ExecType == ET_Hook)