it seems that you forgot to dispatch window messages
Please stop trying to answer these C++ questions if you have never used SFML outside of the SFML.Net binding. Window.DispatchEvents() is exclusive to the SFML.Net binding.
Actually I means call to the Window.pollEvent...
So, C++ version allows to omit this call and it will not affect window behavior?
It very interest, so how message pump works in C++ version if there is no one call from the main loop?
Window message queue should be processed from the main thread...
Usual C++ message pump looks something like this:
while(GetMessage(&Msg, NULL, 0, 0) > 0)
{
TranslateMessage(&Msg);
DispatchMessage(&Msg);
}
for game loop it's better to use PeekMessage instead of GetMessage.
And it actually what I means when I talking about "dispatch window messages". DispatchMessage is not related to C# it's windows API
I'm not sure about OpenGL, but Direct3D actively uses window messages for monitoring window state and send's some messages. So, if message pump didn't works, your Direct3D application also will not works properly. I think that OpenGL uses the same approach with window subclassing...