I was recently upgraded to SFML 2.3 and one of my SFML has issues with the new version.
I am seeing 2 separate issues, though I suspect the cause is related, so I am putting both in one post.
The program in question has an SFML OpenGL context embedded into a gtkmm windows. The SFML/gtkmm integration is based on a post from the wiki:
https://github.com/SFML/SFML/wiki/Source%3A-GTK-SFMLWidget1st, the OpenGL context is created without a depth buffer, stencil buffer, or antialiasing. It seems the sf::ContextSettings passed to sf::Window::create is ignored for embedded windows, and default to 0.
2nd, the context is not resized properly. When the window is resized, the SFML drawing area remains the same size, and the new space is left uninitialized/filled with garbage from the window resizing. I have verified that sf::Window::setSize is being called with the new size, but doesn't appear to be working.
The problem appears in v 2.3 and 2.3.1, but not in 2.2
I did a git bisect and narrowed the breaking commit to:
https://github.com/SFML/SFML/commit/135c1716e877464db720265f37316cbb54ef13f2 This is a huge commit, and I haven't had time to look through the changes to see what in particular broke.
I have a trimmed down program that showcases the bug at:
https://gist.github.com/mattvchandler/6f847d165e3abce7756d This requires SFML and gtkmm-3. It will dump the requested context settings and the context settings actually reported by sf::Window::getSettings. It sets the glClearColor to green and clears to make the resizing bug easy to see.
I am running Debian testing, up-to-date as of today, with gtkmm 3.16.
I also have the same program on windows, and SFML 2.3 does not have these issues on windows, so the problem is probably limited to linux. I don't have access to a mac to test on.
Thanks!