diff options
| -rw-r--r-- | src/gm.erl | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/src/gm.erl b/src/gm.erl index 8cdb0a3ed8..5b952da9f8 100644 --- a/src/gm.erl +++ b/src/gm.erl @@ -668,7 +668,7 @@ handle_info({'DOWN', MRef, process, _Pid, _Reason}, {Result, State2} = case alive_view_members(View1) of [Self] -> - {Result1, State1} = maybe_erase_aliases( State ), + {Result1, State1} = maybe_erase_aliases( State, View1 ), {Result1, State1 #state { members_state = blank_member_state(), confirms = purge_confirms(Confirms) }}; @@ -795,7 +795,7 @@ handle_msg({activity, Left, Activity}, confirms = Confirms1 }, Activity3 = activity_finalise(Activity1), ok = maybe_send_activity(Activity3, State1), - {Result, State2} = maybe_erase_aliases(State1), + {Result, State2} = maybe_erase_aliases(State1, View), if_callback_success( Result, fun activity_true/3, fun activity_false/3, Activity3, State2); @@ -1088,10 +1088,10 @@ erase_members_in_group(Members, GroupName) -> maybe_erase_aliases(State = #state { self = Self, group_name = GroupName, - view = View, + view = View0, members_state = MembersState, module = Module, - callback_args = Args }) -> + callback_args = Args }, View) -> #view_member { aliases = Aliases } = fetch_view_member(Self, View), {Erasable, MembersState1} = ?SETS:fold( @@ -1106,10 +1106,10 @@ maybe_erase_aliases(State = #state { self = Self, end, {[], MembersState}, Aliases), State1 = State #state { members_state = MembersState1 }, case Erasable of - [] -> {ok, State1}; + [] -> {ok, State1 #state { view = View }}; _ -> View1 = group_to_view( erase_members_in_group(Erasable, GroupName)), - {callback_view_changed(Args, Module, View, View1), + {callback_view_changed(Args, Module, View0, View1), check_neighbours(State1 #state { view = View1 })} end. |
