Are you sure that is the case jxvn? The move generation algorithm does not take into account wether or not the move results in a checkmate until the move is made. Could it be that there was a discovered check pinning your attacking piece? In any case I will take a look at the code right now.
The board looked like this (I reconstructed the position using a virtual chess board)
I wanted to move Queen to F7, but it wouldn't let me - the only highlighted square was G3.
If the picture in my reply doesn't show up, here:
1| Ro Bi Qu Ki Bi Ro
2| Pa Pa Pa Pa Kn Pa Pa Pa
5| Bi Pa
7| Pa Pa Pa Pa Pa Pa Pa
8| Ro Kn Bi Ki Kn Ro
A B C D E F G H
(Bold is black, Italic is White)
Thank you for posting this. I will run this position in my chess engine to see if it is a problem with the engine or with the code I wrote to interact my engine in this game. I am guessing it is the later.