# Bekannte Fehler

Im folgenden sind alle (die meisten) bekannten Fehler aufgelistet. Teilweise ist beschrieben, wie der Fehler umgangen werden kann. Soweit nicht anders angegeben werden wir uns bemühen, alle Fehler zu beseitigen, je nach (unserer subjektiver) Wichtigkeit kann das aber dauern.

Eine aktuelle Version befindet sich auf unserer sourceforge-Seite. Wenn Sie neue Fehler finden schicken Sie diese bitte an freedoko@users.sourceforge.net oder stellen ihn auf unserer Fehlerseite.

## Installation

Microsoft Windows: FreeDoko lässt sich nicht deinstallieren
  Wenn FreeDoko nicht als Administrator installiert wurde, werden beim Deinstallieren die Dateien nicht gelöscht. Dies ist wohl ein Fehler beim verwendeten NSIS-System.
  Problemumgehung: Die Dateien per Hand löschen.
Microsoft Windows 7: Bei der Deinstallation bleiben die Einträge im Startmenü erhalten
  Bei der Deinstallation unter Micosoft Windows 7 werden die Einträge im Startmenü nicht gelöscht. Dies ist wohl ein Fehler beim verwendeten NSIS-System.
  Problemumgehung: Die Dateien per Hand löschen.

## Programmstart

FreeDoko startet nicht unter MS-Windows 98
  Beim Start beendet sich FreeDoko mit der Meldung

      Pango-ERROR : file ../.././pango/pango/shape.c: line75 (pango_shape): assertion failed: (glyphs->num_glyphs > 0) aborting

  Das Problem liegt in der GTK-Bibliothek, die unterstützt anscheinend in der 2.8er Version kein MS-Windows 98.
  Problemumgehung: FreeDoko selber kompilieren. Dabei nicht die 2.8er Version der GTK und gtkmm-Bibliotheken verwenden sondern die 2.6er (siehe doc/de/Windows.kompilieren)

## Turnier

Geschmissene Blätter werden nicht gespeichert
  Wird ein Blatt geschmissen (z.B. wegen fünf Neunen) und nach der Neuverteilung der Karten das Turnier gespeichert, dann startet nach einem Laden des Turniers das vorherige Spiel (das, in dem geschmissen wurde).

## Netzwerk

Der Netzwerkcode ist noch stark in der Entwicklung, daher werden dabei noch viele Fehler auftreten. Hier eine Auflistung, was funktionieren sollte:

- starten eines Empfängers (Servers)
- verbinden mit einem Empfänger bei den Turniereinstellungen
- ausklinken mit Hilfe von `leere Netzwerk`
- schnacken
- Start eines Spiels
- Abfrage der Vorbehalte
- Schweine
- Ausspielen der Karten
- Ansagen (solange die Spielsituationen der Spieler synchron sind, d.h. insbesondere, daß alle im selben Stich sind)
- Genscher
- neues Spiel starten

Was auf jeden Fall Probleme macht:

- die Verbindung zu einem Spieler trennt sich
- Ansagen in asynchronen Spielsituationen (die Spieler befinden sich in unterschiedlichen Stichen)

## KI

### Absturz

Absturz mit `this->soloplayer_ == NULL`
  Wenn die Heuristiken für die KI geändert wurden, kann es vorkommen, daß die KI abstürzt.
  Das Problem tritt auf, wenn einem Spieltyp „falsche” Heuristiken zugeordnet werden, z.B. `Spiele beste Farbe (Fleischlos)` für ein normales Spiel.
  Problemumgehung: Bei der Aktivierung der Heuristiken vorsichtig sein und die Beschreibung durchlesen.

### ChooseBestCard

Unbekannte Teams bei Sonderpunkten
  Wenn eine Hochzeit noch nicht erfüllt ist können Sonderpunkte wie 'Fuchs gefangen' und 'Dollenschlag' nicht zugeordnet werden.

## Graphische Oberfläche

Absturz nach Minimierung des Hauptfensters
  Unter Microsoft Windows stürzt FreeDoko teilweise ab, wenn das Hauptfenster nach Minimierung wieder angezeigt werden soll.
  Keine Ahnung, woran das liegt. Ich vermute, es ist ein Fehler in der GTK-Bibliothek, vielleicht ist er mit der Version 3.0 behoben.
  Problemumgehung: Anderen System (z.B. GNU/Linux) verwenden ;-)
Unterfenster behalten nicht ihre Position
  Bei einigen Fenstermanagern, insbesondere der von KDE, erscheinen die Informationsfenster (wie `voller Stich`) immer in der Mitte des Hauptfensters anstatt an der letzten Position.
  Diese Fenstermanager scheinen das nachträgliche Positionierung von Fenstern nicht zu unterstützen.
  Problemumgehung: Anderen Fenstermanager (z.B. fvwm) verwenden.
Vorbehaltsfenster nicht sichtbar
  Unter Microsoft™ Windows führt folgende Vorgehensweise zu einem Problem: Beim Tunierstart alle Fenster minimieren, das Tuniereinstellungen-Fenster in den Vordergrund bringen und auf 'Tunier starten'. Auch wenn anschließend das Hauptfenster in den Vordergrund genommen wird ist das Vorbehaltsfenster weiter versteckt, kann also nicht geschlossen werden.
  Problemumgehung: Diese Abfolge nicht ausführen. Wenn es zu spät ist, über das Menü ein neues Tunier starten (und das Hauptfenster nicht minimiert lassen) oder die aktuelle Parie laden.
  Die Schuld für diesen Fehler weise ich von mir ;-), entweder ist unter Microsoft™ Windows der Fehler, daß das Hauptfenster nicht mit dem Tuniereinstellungen-Fenster maximiert wurde bzw. keinen Eintrag zum wiederherstellen des Vorbehalts-Fensters vorhanden ist oder bei Gtk wurde dahingehend geschlampt. Unter dem Fenstermanager fvwm wird beim Wiederherstellen des Tuniereinstellungen-Fensters auch gleich das Hauptfenster wiederhergestellt.

## Quelltext

Unvollständige Dokumentation mit doxygen
  Doxygen erstellt nicht alle Dokumentation. Dies ist ein Fehler von doxygen, siehe 'Troubleshooting' im doxygen-Handbuch, den werden wir nicht korrigieren.

## Sonstiges

Ungenügende Dokumentation
  Die Dokumentation ist unvollständig und nur wenig übesetzt.
  Problemlösung: Uns bei der Dokumentation helfen.

## korrigierte Fehler

Im folgenden stehen zu den Versionen korrigierte Fehler (gepflegt seit Version 0.6.7).

### 0.7.11

- Teilweise gab es einen Absturz gegen Ende des Spiels.

### 0.7.10

- Der Pflichtsolist hat nicht immer aufgespielt.
- Hyperschweine wurden im Spiel ohne Neunen nicht automatisch angesagt.
- Bei der Regel „Klopfen” wurde das Gewinnerteam nicht richtig bestimmt, wenn eine Ansage nicht eingehalten wurde.

### 0.7.9

- In einer Armut stürzte das Spiel teilweise ab, wenn der Armutler noch Trumpf auf der Hand hat.
- Die KI hatte teilweise in der Pflichtsolirunde kein Solo angesagt.
- Die Rundenzählung war durcheinander, wenn Solo-Spiele in Bock-Runden eingefügt (d.h. Startspieler des Solos war der Solospieler) wurden.

### 0.7.8

- Bei der Regel „beschränkte Rundenanzahl” wurde das Tunier zwei Runden zu früh beendet.

### 0.7.8

- Beim Aufruf der Spielereinstellungen wurden die Schwierigkeitsstufen auf „Anfänger” zurückgesetzt.
- Absturz in einer Armut, in der Trümpfe zurückgeschoben wurden
- KI wählt nicht zwingend ein Solo in der Pflichtsolirunde aus
- Rundenende nicht erkannt, wenn Soli in Bockrunden gespielt werden

### 0.7.7

- Bei verschiedenen Situationen mit Schweinen kam es zu Abstürzen (bei Armut, Reichtum, Ansage im Spielverlauf, ...)
- Wenn der Armutler Trümpfe zurückgeschoben bekam, stürzte manchmal das Spiel später ab.
- Die Einstellungen zu den Informationsfenstern (nicht anzeigen, automatisch verstecken) wurden ignoriert.
- Absturz beim Aufruf der Spielerstatistiken
- Absturz beim Genschern mit Gegenansage
- Absturz bei Rundenbegrenzung

### 0.7.6b

- Bei Farbsolospielen kam es zu Abstürzen, wenn der Mensch Schweine hat.

### 0.7.6

- Bei Solospielen kam es häufig zu langen Wartezeiten. Grund war eine Heuristik für den Solospieler die nicht griff, und daher die langsamen virtuelle Spiele verwendet wurden
- Die Auswertung der Ansagen entsprach nicht den offiziellen Tunierregeln. Das bisherige Verhalten (bei Ansage von Re/Kontra müssen 121 Punkte zum Gewinnen erreicht werden) kann mit der Regel `strikte Grenzen` eingestellt werden.
- Umlaute im Verzeichnispfad für die Einstellungen wurden nicht richtig erkannt, daher konnten keine Einstellungen gespeichert/geladen werden.

### 0.7.5

- Hyperschweine wurden bei fremden Soli nicht automatisch beim Spielstart angesagt.
- Die Regeln `Schweine im Solo` und `Hyperschweine im Solo` wurden im ausgeschalteten Zustand nicht beachtet und führten zum Absturz
- Bei einer stillen Hochzeit stürzte die KI beim Ausspielen der zweiten Kreuz Dame oder gegen Ende des Spieles ab.

### 0.7.4

- Bei einer stillen Hochzeit bekam der Solospieler die Punkte nur einfach gewertet.
- Beim Vorbehalt wurde nicht der Startspieler hervorgehoben.
- Bei einer Armut wurden die Schweine teilweise nicht richtig behandelt.
- Unter Microsoft Windows wurde ohne Hinweis das gesamte Installationsverzeichnis gelöscht inklusive aller spearat hineinkopierten Dateien.
- Manchmal Absturz beim Schließen vom Stich.

### 0.7.3

- Das aktuelle Turnier wurde nicht automatisch gespeichert.
- Die Gegenansage doch 90 wurde nicht richtig bewertet.
- Wenn unter Microsoft Windows Opera als Standardbrowser eingestellt war, ließen sich die Einstellungen nicht aufrufen.

### 0.7.2b

- In den letzten Stichen stürzte FreeDoko häufig ohne Fehlermeldung ab

### 0.7.2

- Beim Start stürzte FreeDoko mit der Meldung `ASSERT(file party.cpp, line 231): Party::player(p): 'p' is not valid (4294967295)` ab.
- Beim Start stürzte FreeDoko mit der Meldung `ASSERT(file player.cpp, line 319): Player::new_(istream): first line does not begin with 'Name =':` ab.
- Die Regel Fuchs höchster Trumpf griff nicht, wenn der Fuchs der höchste Trumpf war.

### 0.7.1

- Vor allem beim Spiel ohne Neunen stürzte die Kartenberechnung regelmäßig ab.

### 0.7.0

- Bei unbekannten Teams wurden die Sonderpunkte nicht angezeigt.
- Verschiedene Abstürze bei der Blatterkennung (`CardsInformation`)
- Schweine bei einer Armut wurden nicht erkant
- Die Schweine-Regel `nur zweites` griff nicht sofort, wenn der Schweine-Spieler seinen Fuchs selber nach Hause gebracht hatte.
- Bei der Schweine-Regel `nur zweites` stürzte das Spiel beim Schweine-Ansagen ab.
- Absturz bei Systemen mit UTF-8-Unterstützung (z.B. SuSE Linux ≥ 9.1)

### 0.6.9

- In den letzten Stichen stürzte das Programm mit der Meldung `card club ace too often in the game` oder `this->playedcard(spade jack) == 3 > 2 == NUMBER_OF_SAME_CARDS` ab.
- Falsche Zählung bei verlorenem Solospiel
- Die Doppel-Sonderpunkte vom letzten Stich wurden auch für eine fremde zweite Karte gewertet (z.B. der zweite Kreuz Bube kam vom gegnerischen Team)
- Schweine und Hyperschweine konnten in einer Armut zusammengeschoben werden.

### 0.6.8

- Wenn schon Teams bekannt sind, wird der Sonderpunkt Herzstich nicht mehr gewertet.
- Die Zählweise der Spielpunkte bei fehlendem Gewinnerteam war teilweise unkorrekt.
- Teilweise waren die geschobenen Karten bei der Armut kurz sichtbar.
- In einer Armut kam der Fehler `EXCEPTION( file ai.cpp, line 944): invalid game` vor, wenn der Aufnehmer in den letzten Stichen noch Farbkarten auf der Hand hatte.
- Manchmal fand die KI kein zulässiges Spiel.

### 0.6.7b

- Bei einer Armut kann das Spiel abstürzen wenn der Aufnehmer noch Farbkarten auf der Hand hat.
  (auch frühere Versionen)
- Beim Spieldurchgang am Ende eines Spiels werden nicht die richtige Karten aus dem Blatt genommen.
- Bei dem KI-Typ Monte Carlo wurde immer das gleiche Spiel durchgespielt, dadurch war die KI schlecht.
- Bei den Sonderpunkten gab es immer einen Sonderpunkt für die Gegenansage doch 120, auch wenn kein Team das Spiel gewann.
  (auch frühere Versionen)

### 0.6.7

- Abbruch des Programms beim neuen Spiel
- Der Knopf zufälliger Startwert wurde in den Turniereinstellungen nicht beachtet
- Im Einstellungen-Fenster konnten die Felder nicht geädert werden

offizielle Internetseite