Klingt einleuchtend. get_screen_content soll ja einen Bildschirmausschnitt sichern und put_screen_content den gesicherten Ausschnitt wieder ins Bild kopieren.
Ich habe mal testweise in get_screen_content einen anderen Zielbereich angegeben, den ich mit malloc(0xffff) reserviere:
statt
src->fd_addr = dest->fd_addr = 0L;
nun
src->fd_addr = 0L; dest->fd_addr = malloc(0xffff);
Es passiert aber immer noch nichts.