This problem is also present in KDE, so it's not a bug exclusive to gnome-screensaver. As was said before, this is a problem with the way X was designed, and the solutions imply either re-designing X (I doubt there are many people up to such a task) or working around it.
For suspend/hibernate there's the inhibitor locks design doc from Freedesktop, that could allow adding some hooks and forcing pop-up windows to close just before suspending: http://www.freedesktop.org/wiki/Software/systemd/inhibit
It's a different story when trying to manually lock (ctrl-alt-l), since the keyboard is grabbed by the pop-up, no application receives the lock combination and no application can then act appropriately.
In any case it's quite a hard bug to fix, that requires a well thought solution, not a quick hack to fix it.
This problem is also present in KDE, so it's not a bug exclusive to gnome-screensaver. As was said before, this is a problem with the way X was designed, and the solutions imply either re-designing X (I doubt there are many people up to such a task) or working around it.
For suspend/hibernate there's the inhibitor locks design doc from Freedesktop, that could allow adding some hooks and forcing pop-up windows to close just before suspending: http:// www.freedesktop .org/wiki/ Software/ systemd/ inhibit
It's a different story when trying to manually lock (ctrl-alt-l), since the keyboard is grabbed by the pop-up, no application receives the lock combination and no application can then act appropriately.
In any case it's quite a hard bug to fix, that requires a well thought solution, not a quick hack to fix it.