Cache fuer Report zuruecksetzen.

Beim Reconnect wird jetzt der Cache fuer den textuellen
Statusreport geloescht, weil die Daten ggf. veraltet
sind, insb. falls in der letzten Session GMCP benutzt
wurde und jetzt nicht.

Change-Id: Ied8cbc60a73ae1bb79de215b1157a5e9f3804d3f
diff --git a/std/player/base.c b/std/player/base.c
index abcfa79..82f6de2 100644
--- a/std/player/base.c
+++ b/std/player/base.c
@@ -606,8 +606,8 @@
     update_hunt_times((time()-QueryProp(P_LAST_LOGOUT)) /__HEART_BEAT_INTERVAL__);
     // Heartbeats in Objekten im Inv reaktiveren.
     restart_heart_beats();
-    // life.c will ggf. was aufraeumen
-    life::reconnect();
+    // einige geerbte Module wollen ggf. was aufraeumen, neu initialisieren...
+    "*"::reconnect();
 
     log_file( "syslog/shell/REENTER", sprintf( "%-11s %s, %-15s (%s).\n",
                                   capitalize(getuid(ME)), ctime(time())[4..15],
diff --git a/std/player/comm.c b/std/player/comm.c
index 0de03a8..87dd6a0 100644
--- a/std/player/comm.c
+++ b/std/player/comm.c
@@ -102,6 +102,13 @@
   set_next_reset(-1);
 }
 
+// called from base.c in Reconnect()
+protected void reconnect() {
+  // Cache fuer den report zuruecksetzen, der koennte veraltet sein (insb.
+  // falls in der letzten Session GMCP benutzt wurde und jetzt nicht).
+  report_cache = 0;
+}
+
 // uebermittelt eine MT_NOTIFICATION an this_object(), welche nicht ignoriert
 // werden kann und auch nicht gespeichert wird.
 protected void _notify(string msg, string action) {