From d5ce48bf7f3c57d4b73a32a12b62548f46ac7953 Mon Sep 17 00:00:00 2001 From: Enno Rehling Date: Mon, 9 Jun 2008 23:39:15 +0000 Subject: [PATCH] fixes for the prevF speedup --- src/common/kernel/unit.c | 3 ++- src/eressea/lua/region.cpp | 1 + 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/src/common/kernel/unit.c b/src/common/kernel/unit.c index c581703c3..a9f105302 100644 --- a/src/common/kernel/unit.c +++ b/src/common/kernel/unit.c @@ -1021,10 +1021,11 @@ u_setfaction(unit * u, faction * f) if (u->nextF) u->nextF->prevF = u->prevF; if (u->prevF) u->prevF->nextF = u->nextF; - else f->units = u->nextF; + else u->faction->units = u->nextF; } if (f!=NULL) { + if (f->units) f->units->prevF=u; u->prevF = NULL; u->nextF = f->units; f->units = u; diff --git a/src/eressea/lua/region.cpp b/src/eressea/lua/region.cpp index 599fd47b5..7ec1bea96 100644 --- a/src/eressea/lua/region.cpp +++ b/src/eressea/lua/region.cpp @@ -185,6 +185,7 @@ region_setresource(region& r, const char * type, int value) rm->amount = value; break; } + rm=rm->next; } if (!rm) { if (rtype==rt_find("money")) rsetmoney(&r, value);