Bug beim stoppen von Transportern gefixt
Beim Registrieren des Init-Hooks muss auch auf -3 (bereits registriert)
geprueft werden. Andernfalls bleiben Transporter, die ein Ziel doppelt
anfahren, niemals stehen, da sie zweimal versuchen es einzutragen und es
nur beim ersten mal funktioniert.
Change-Id: I7e10f954cba904ad32bc66debd1a13f2f749d9b3
diff --git a/std/transport.c b/std/transport.c
index 1499cbc..75a7b82 100644
--- a/std/transport.c
+++ b/std/transport.c
@@ -583,9 +583,11 @@
{
if (arr[0] == HP_ROOM)
{
- if (arr[1]->HRegisterToHook(H_HOOK_INIT, #'InitHookCallback,
- H_HOOK_LIBPRIO(1), H_LISTENER,
- 0) <= 0)
+ int res = arr[1]->HRegisterToHook(H_HOOK_INIT, #'InitHookCallback,
+ H_HOOK_LIBPRIO(1), H_LISTENER,
+ 0);
+ // 1 == Erfolg, -3 == bereits registriert
+ if(res != 1 && res != -3)
{
// von allen H_HOOK_INIT wieder abmelden...
unsubscribe_init();