Here's the valgrind output for the most recent sample code, after running for a couple minutes.
valgrind --leak-check=yes ./testcontext4
==28864== Memcheck, a memory error detector
==28864== Copyright (C) 2002-2010, and GNU GPL'd, by Julian Seward et al.
==28864== Using Valgrind-3.6.1 and LibVEX; rerun with -h for copyright info
==28864== Command: ./testcontext4
==28864==
==28864==
==28864== HEAP SUMMARY:
==28864== in use at exit: 777,424,068 bytes in 116,874 blocks
==28864== total heap usage: 174,908 allocs, 58,034 frees, 869,300,595 bytes allocated
==28864==
==28864== 124 bytes in 1 blocks are definitely lost in loss record 280 of 678
==28864== at 0x4025018: malloc (vg_replace_malloc.c:236)
==28864== by 0x473ABC2: ??? (in /usr/lib/libxcb.so.1.1.0)
==28864== by 0x473AC63: ??? (in /usr/lib/libxcb.so.1.1.0)
==28864== by 0x473A5A3: xcb_connect_to_display_with_auth_info (in /usr/lib/libxcb.so.1.1.0)
==28864== by 0x473A8DB: xcb_connect (in /usr/lib/libxcb.so.1.1.0)
==28864== by 0x456BD72: _XConnectXCB (in /usr/lib/libX11.so.6.3.0)
==28864== by 0x455BC16: XOpenDisplay (in /usr/lib/libX11.so.6.3.0)
==28864== by 0x4101523: sf::priv::GlxContext::GlxContext(sf::priv::GlxContext*) (GlxContext.cpp:47)
==28864== by 0x40FA381: sf::priv::GlContext::GlobalInit() (GlContext.cpp:108)
==28864== by 0x40FB90A: sf::GlResource::GlResource() (GlResource.cpp:57)
==28864== by 0x40FE41D: sf::Window::Window() (Window.cpp:53)
==28864== by 0x4070565: sf::RenderWindow::RenderWindow() (RenderWindow.cpp:34)
==28864==
==28864== 124 bytes in 1 blocks are definitely lost in loss record 281 of 678
==28864== at 0x4025018: malloc (vg_replace_malloc.c:236)
==28864== by 0x473ABC2: ??? (in /usr/lib/libxcb.so.1.1.0)
==28864== by 0x473AC63: ??? (in /usr/lib/libxcb.so.1.1.0)
==28864== by 0x473A5A3: xcb_connect_to_display_with_auth_info (in /usr/lib/libxcb.so.1.1.0)
==28864== by 0x473A8DB: xcb_connect (in /usr/lib/libxcb.so.1.1.0)
==28864== by 0x456BD72: _XConnectXCB (in /usr/lib/libX11.so.6.3.0)
==28864== by 0x455BC16: XOpenDisplay (in /usr/lib/libX11.so.6.3.0)
==28864== by 0x4102B1D: sf::priv::VideoModeImpl::GetDesktopMode() (VideoModeImpl.cpp:122)
==28864== by 0x40FBDD7: sf::VideoMode::GetDesktopMode() (VideoMode.cpp:60)
==28864== by 0x4101637: sf::priv::GlxContext::GlxContext(sf::priv::GlxContext*) (GlxContext.cpp:62)
==28864== by 0x40FA381: sf::priv::GlContext::GlobalInit() (GlContext.cpp:108)
==28864== by 0x40FB90A: sf::GlResource::GlResource() (GlResource.cpp:57)
==28864==
==28864== 124 bytes in 1 blocks are definitely lost in loss record 282 of 678
==28864== at 0x4025018: malloc (vg_replace_malloc.c:236)
==28864== by 0x473ABC2: ??? (in /usr/lib/libxcb.so.1.1.0)
==28864== by 0x473AC63: ??? (in /usr/lib/libxcb.so.1.1.0)
==28864== by 0x473A5A3: xcb_connect_to_display_with_auth_info (in /usr/lib/libxcb.so.1.1.0)
==28864== by 0x473A8DB: xcb_connect (in /usr/lib/libxcb.so.1.1.0)
==28864== by 0x456BD72: _XConnectXCB (in /usr/lib/libX11.so.6.3.0)
==28864== by 0x455BC16: XOpenDisplay (in /usr/lib/libX11.so.6.3.0)
==28864== by 0x4101523: sf::priv::GlxContext::GlxContext(sf::priv::GlxContext*) (GlxContext.cpp:47)
==28864== by 0x40FA541: sf::priv::GlContext::New() (GlContext.cpp:145)
==28864== by 0x40FA2BB: (anonymous namespace)::GetInternalContext() (GlContext.cpp:90)
==28864== by 0x40FA798: sf::priv::GlContext::SetActive(bool) (GlContext.cpp:227)
==28864== by 0x40FA3AD: sf::priv::GlContext::GlobalInit() (GlContext.cpp:114)
==28864==
==28864== 124 bytes in 1 blocks are definitely lost in loss record 283 of 678
==28864== at 0x4025018: malloc (vg_replace_malloc.c:236)
==28864== by 0x473ABC2: ??? (in /usr/lib/libxcb.so.1.1.0)
==28864== by 0x473AC63: ??? (in /usr/lib/libxcb.so.1.1.0)
==28864== by 0x473A5A3: xcb_connect_to_display_with_auth_info (in /usr/lib/libxcb.so.1.1.0)
==28864== by 0x473A8DB: xcb_connect (in /usr/lib/libxcb.so.1.1.0)
==28864== by 0x456BD72: _XConnectXCB (in /usr/lib/libX11.so.6.3.0)
==28864== by 0x455BC16: XOpenDisplay (in /usr/lib/libX11.so.6.3.0)
==28864== by 0x41036F9: sf::priv::WindowImplX11::WindowImplX11(sf::VideoMode, std::string const&, unsigned long) (WindowImplX11.cpp:114)
==28864== by 0x40FF132: sf::priv::WindowImpl::New(sf::VideoMode, std::string const&, unsigned long) (WindowImpl.cpp:58)
==28864== by 0x40FE82C: sf::Window::Create(sf::VideoMode, std::string const&, unsigned long, sf::ContextSettings const&) (Window.cpp:126)
==28864== by 0x8048FC7: main (testcontext4.cpp:27)
==28864==
==28864== 160 bytes in 1 blocks are possibly lost in loss record 290 of 678
==28864== at 0x4023796: calloc (vg_replace_malloc.c:467)
==28864== by 0x401103B: _dl_allocate_tls (dl-tls.c:300)
==28864== by 0x43BC5A0: pthread_create@@GLIBC_2.1 (allocatestack.c:579)
==28864== by 0x411980B: sf::priv::ThreadImpl::ThreadImpl(sf::Thread*) (ThreadImpl.cpp:41)
==28864== by 0x41194CF: sf::Thread::Launch() (Thread.cpp:52)
==28864== by 0x8049018: main (testcontext4.cpp:31)
==28864==
==28864== 282 bytes in 1 blocks are definitely lost in loss record 322 of 678
==28864== at 0x4025018: malloc (vg_replace_malloc.c:236)
==28864== by 0x4508253: ??? (in /usr/lib/libGL.so.1.2)
==28864== by 0x44E8063: ??? (in /usr/lib/libGL.so.1.2)
==28864== by 0x450C624: ??? (in /usr/lib/libGL.so.1.2)
==28864== by 0x44E84E1: ??? (in /usr/lib/libGL.so.1.2)
==28864== by 0x44E54B2: ??? (in /usr/lib/libGL.so.1.2)
==28864== by 0x44E55E4: glXGetConfig (in /usr/lib/libGL.so.1.2)
==28864== by 0x4101C67: sf::priv::GlxContext::CreateContext(sf::priv::GlxContext*, unsigned int, sf::ContextSettings const&) (GlxContext.cpp:197)
==28864== by 0x410165A: sf::priv::GlxContext::GlxContext(sf::priv::GlxContext*) (GlxContext.cpp:62)
==28864== by 0x40FA381: sf::priv::GlContext::GlobalInit() (GlContext.cpp:108)
==28864== by 0x40FB90A: sf::GlResource::GlResource() (GlResource.cpp:57)
==28864== by 0x40FE41D: sf::Window::Window() (Window.cpp:53)
==28864==
==28864== 282 bytes in 1 blocks are definitely lost in loss record 323 of 678
==28864== at 0x4025018: malloc (vg_replace_malloc.c:236)
==28864== by 0x4508253: ??? (in /usr/lib/libGL.so.1.2)
==28864== by 0x44E8063: ??? (in /usr/lib/libGL.so.1.2)
==28864== by 0x450C624: ??? (in /usr/lib/libGL.so.1.2)
==28864== by 0x44E84E1: ??? (in /usr/lib/libGL.so.1.2)
==28864== by 0x44E54B2: ??? (in /usr/lib/libGL.so.1.2)
==28864== by 0x44E55E4: glXGetConfig (in /usr/lib/libGL.so.1.2)
==28864== by 0x4101C67: sf::priv::GlxContext::CreateContext(sf::priv::GlxContext*, unsigned int, sf::ContextSettings const&) (GlxContext.cpp:197)
==28864== by 0x410171D: sf::priv::GlxContext::GlxContext(sf::priv::GlxContext*, sf::ContextSettings const&, sf::priv::WindowImpl const*, unsigned int) (GlxContext.cpp:80)
==28864== by 0x40FA5C1: sf::priv::GlContext::New(sf::ContextSettings const&, sf::priv::WindowImpl const*, unsigned int) (GlContext.cpp:159)
==28864== by 0x40FE850: sf::Window::Create(sf::VideoMode, std::string const&, unsigned long, sf::ContextSettings const&) (Window.cpp:129)
==28864== by 0x8048FC7: main (testcontext4.cpp:27)
==28864==
==28864== 282 bytes in 1 blocks are definitely lost in loss record 324 of 678
==28864== at 0x4025018: malloc (vg_replace_malloc.c:236)
==28864== by 0x4508253: ??? (in /usr/lib/libGL.so.1.2)
==28864== by 0x44E8063: ??? (in /usr/lib/libGL.so.1.2)
==28864== by 0x450C624: ??? (in /usr/lib/libGL.so.1.2)
==28864== by 0x44E84E1: ??? (in /usr/lib/libGL.so.1.2)
==28864== by 0x44E54B2: ??? (in /usr/lib/libGL.so.1.2)
==28864== by 0x44E55E4: glXGetConfig (in /usr/lib/libGL.so.1.2)
==28864== by 0x4101C67: sf::priv::GlxContext::CreateContext(sf::priv::GlxContext*, unsigned int, sf::ContextSettings const&) (GlxContext.cpp:197)
==28864== by 0x410165A: sf::priv::GlxContext::GlxContext(sf::priv::GlxContext*) (GlxContext.cpp:62)
==28864== by 0x40FA541: sf::priv::GlContext::New() (GlContext.cpp:145)
==28864== by 0x40FA2BB: (anonymous namespace)::GetInternalContext() (GlContext.cpp:90)
==28864== by 0x40FA798: sf::priv::GlContext::SetActive(bool) (GlContext.cpp:227)
==28864==
==28864== 10,404 bytes in 51 blocks are possibly lost in loss record 524 of 678
==28864== at 0x4025018: malloc (vg_replace_malloc.c:236)
==28864== by 0x44E3E6A: ??? (in /usr/lib/libGL.so.1.2)
==28864== by 0x44E7EA8: ??? (in /usr/lib/libGL.so.1.2)
==28864== by 0x44E8191: ??? (in /usr/lib/libGL.so.1.2)
==28864== by 0x450C624: ??? (in /usr/lib/libGL.so.1.2)
==28864== by 0x44E84E1: ??? (in /usr/lib/libGL.so.1.2)
==28864== by 0x44E54B2: ??? (in /usr/lib/libGL.so.1.2)
==28864== by 0x44E55E4: glXGetConfig (in /usr/lib/libGL.so.1.2)
==28864== by 0x4101C67: sf::priv::GlxContext::CreateContext(sf::priv::GlxContext*, unsigned int, sf::ContextSettings const&) (GlxContext.cpp:197)
==28864== by 0x410165A: sf::priv::GlxContext::GlxContext(sf::priv::GlxContext*) (GlxContext.cpp:62)
==28864== by 0x40FA541: sf::priv::GlContext::New() (GlContext.cpp:145)
==28864== by 0x40FA2BB: (anonymous namespace)::GetInternalContext() (GlContext.cpp:90)
==28864==
==28864== 11,408 bytes in 92 blocks are definitely lost in loss record 532 of 678
==28864== at 0x4025018: malloc (vg_replace_malloc.c:236)
==28864== by 0x473ABC2: ??? (in /usr/lib/libxcb.so.1.1.0)
==28864== by 0x473AC63: ??? (in /usr/lib/libxcb.so.1.1.0)
==28864== by 0x473A5A3: xcb_connect_to_display_with_auth_info (in /usr/lib/libxcb.so.1.1.0)
==28864== by 0x473A8DB: xcb_connect (in /usr/lib/libxcb.so.1.1.0)
==28864== by 0x456BD72: _XConnectXCB (in /usr/lib/libX11.so.6.3.0)
==28864== by 0x455BC16: XOpenDisplay (in /usr/lib/libX11.so.6.3.0)
==28864== by 0x4101523: sf::priv::GlxContext::GlxContext(sf::priv::GlxContext*) (GlxContext.cpp:47)
==28864== by 0x40FA541: sf::priv::GlContext::New() (GlContext.cpp:145)
==28864== by 0x40FA2BB: (anonymous namespace)::GetInternalContext() (GlContext.cpp:90)
==28864== by 0x40FA4F5: sf::priv::GlContext::EnsureContext() (GlContext.cpp:138)
==28864== by 0x40FB929: sf::GlResource::GlResource() (GlResource.cpp:64)
==28864==
==28864== 11,532 bytes in 93 blocks are definitely lost in loss record 533 of 678
==28864== at 0x4025018: malloc (vg_replace_malloc.c:236)
==28864== by 0x473ABC2: ??? (in /usr/lib/libxcb.so.1.1.0)
==28864== by 0x473AC63: ??? (in /usr/lib/libxcb.so.1.1.0)
==28864== by 0x473A5A3: xcb_connect_to_display_with_auth_info (in /usr/lib/libxcb.so.1.1.0)
==28864== by 0x473A8DB: xcb_connect (in /usr/lib/libxcb.so.1.1.0)
==28864== by 0x456BD72: _XConnectXCB (in /usr/lib/libX11.so.6.3.0)
==28864== by 0x455BC16: XOpenDisplay (in /usr/lib/libX11.so.6.3.0)
==28864== by 0x4102B1D: sf::priv::VideoModeImpl::GetDesktopMode() (VideoModeImpl.cpp:122)
==28864== by 0x40FBDD7: sf::VideoMode::GetDesktopMode() (VideoMode.cpp:60)
==28864== by 0x4101637: sf::priv::GlxContext::GlxContext(sf::priv::GlxContext*) (GlxContext.cpp:62)
==28864== by 0x40FA541: sf::priv::GlContext::New() (GlContext.cpp:145)
==28864== by 0x40FA2BB: (anonymous namespace)::GetInternalContext() (GlContext.cpp:90)
==28864==
==28864== 13,056 (204 direct, 12,852 indirect) bytes in 1 blocks are definitely lost in loss record 540 of 678
==28864== at 0x4025018: malloc (vg_replace_malloc.c:236)
==28864== by 0x44E3E6A: ??? (in /usr/lib/libGL.so.1.2)
==28864== by 0x44E7EA8: ??? (in /usr/lib/libGL.so.1.2)
==28864== by 0x44E8191: ??? (in /usr/lib/libGL.so.1.2)
==28864== by 0x450C624: ??? (in /usr/lib/libGL.so.1.2)
==28864== by 0x44E84E1: ??? (in /usr/lib/libGL.so.1.2)
==28864== by 0x44E54B2: ??? (in /usr/lib/libGL.so.1.2)
==28864== by 0x44E55E4: glXGetConfig (in /usr/lib/libGL.so.1.2)
==28864== by 0x4101C67: sf::priv::GlxContext::CreateContext(sf::priv::GlxContext*, unsigned int, sf::ContextSettings const&) (GlxContext.cpp:197)
==28864== by 0x410165A: sf::priv::GlxContext::GlxContext(sf::priv::GlxContext*) (GlxContext.cpp:62)
==28864== by 0x40FA381: sf::priv::GlContext::GlobalInit() (GlContext.cpp:108)
==28864== by 0x40FB90A: sf::GlResource::GlResource() (GlResource.cpp:57)
==28864==
==28864== 13,056 (204 direct, 12,852 indirect) bytes in 1 blocks are definitely lost in loss record 541 of 678
==28864== at 0x4025018: malloc (vg_replace_malloc.c:236)
==28864== by 0x44E3E6A: ??? (in /usr/lib/libGL.so.1.2)
==28864== by 0x44E7EA8: ??? (in /usr/lib/libGL.so.1.2)
==28864== by 0x44E8191: ??? (in /usr/lib/libGL.so.1.2)
==28864== by 0x450C624: ??? (in /usr/lib/libGL.so.1.2)
==28864== by 0x44E84E1: ??? (in /usr/lib/libGL.so.1.2)
==28864== by 0x44E54B2: ??? (in /usr/lib/libGL.so.1.2)
==28864== by 0x44E55E4: glXGetConfig (in /usr/lib/libGL.so.1.2)
==28864== by 0x4101C67: sf::priv::GlxContext::CreateContext(sf::priv::GlxContext*, unsigned int, sf::ContextSettings const&) (GlxContext.cpp:197)
==28864== by 0x410171D: sf::priv::GlxContext::GlxContext(sf::priv::GlxContext*, sf::ContextSettings const&, sf::priv::WindowImpl const*, unsigned int) (GlxContext.cpp:80)
==28864== by 0x40FA5C1: sf::priv::GlContext::New(sf::ContextSettings const&, sf::priv::WindowImpl const*, unsigned int) (GlContext.cpp:159)
==28864== by 0x40FE850: sf::Window::Create(sf::VideoMode, std::string const&, unsigned long, sf::ContextSettings const&) (Window.cpp:129)
==28864==
==28864== 25,944 bytes in 92 blocks are definitely lost in loss record 568 of 678
==28864== at 0x4025018: malloc (vg_replace_malloc.c:236)
==28864== by 0x4508253: ??? (in /usr/lib/libGL.so.1.2)
==28864== by 0x44E8063: ??? (in /usr/lib/libGL.so.1.2)
==28864== by 0x450C624: ??? (in /usr/lib/libGL.so.1.2)
==28864== by 0x44E84E1: ??? (in /usr/lib/libGL.so.1.2)
==28864== by 0x44E54B2: ??? (in /usr/lib/libGL.so.1.2)
==28864== by 0x44E55E4: glXGetConfig (in /usr/lib/libGL.so.1.2)
==28864== by 0x4101C67: sf::priv::GlxContext::CreateContext(sf::priv::GlxContext*, unsigned int, sf::ContextSettings const&) (GlxContext.cpp:197)
==28864== by 0x410165A: sf::priv::GlxContext::GlxContext(sf::priv::GlxContext*) (GlxContext.cpp:62)
==28864== by 0x40FA541: sf::priv::GlContext::New() (GlContext.cpp:145)
==28864== by 0x40FA2BB: (anonymous namespace)::GetInternalContext() (GlContext.cpp:90)
==28864== by 0x40FA4F5: sf::priv::GlContext::EnsureContext() (GlContext.cpp:138)
==28864==
==28864== 26,112 (204 direct, 25,908 indirect) bytes in 1 blocks are definitely lost in loss record 569 of 678
==28864== at 0x4025018: malloc (vg_replace_malloc.c:236)
==28864== by 0x44E3E6A: ??? (in /usr/lib/libGL.so.1.2)
==28864== by 0x44E7EA8: ??? (in /usr/lib/libGL.so.1.2)
==28864== by 0x44E81D3: ??? (in /usr/lib/libGL.so.1.2)
==28864== by 0x450C624: ??? (in /usr/lib/libGL.so.1.2)
==28864== by 0x44E84E1: ??? (in /usr/lib/libGL.so.1.2)
==28864== by 0x44E54B2: ??? (in /usr/lib/libGL.so.1.2)
==28864== by 0x44E55E4: glXGetConfig (in /usr/lib/libGL.so.1.2)
==28864== by 0x4101C67: sf::priv::GlxContext::CreateContext(sf::priv::GlxContext*, unsigned int, sf::ContextSettings const&) (GlxContext.cpp:197)
==28864== by 0x410165A: sf::priv::GlxContext::GlxContext(sf::priv::GlxContext*) (GlxContext.cpp:62)
==28864== by 0x40FA381: sf::priv::GlContext::GlobalInit() (GlContext.cpp:108)
==28864== by 0x40FB90A: sf::GlResource::GlResource() (GlResource.cpp:57)
==28864==
==28864== 26,112 (204 direct, 25,908 indirect) bytes in 1 blocks are definitely lost in loss record 570 of 678
==28864== at 0x4025018: malloc (vg_replace_malloc.c:236)
==28864== by 0x44E3E6A: ??? (in /usr/lib/libGL.so.1.2)
==28864== by 0x44E7EA8: ??? (in /usr/lib/libGL.so.1.2)
==28864== by 0x44E81D3: ??? (in /usr/lib/libGL.so.1.2)
==28864== by 0x450C624: ??? (in /usr/lib/libGL.so.1.2)
==28864== by 0x44E84E1: ??? (in /usr/lib/libGL.so.1.2)
==28864== by 0x44E54B2: ??? (in /usr/lib/libGL.so.1.2)
==28864== by 0x44E55E4: glXGetConfig (in /usr/lib/libGL.so.1.2)
==28864== by 0x4101C67: sf::priv::GlxContext::CreateContext(sf::priv::GlxContext*, unsigned int, sf::ContextSettings const&) (GlxContext.cpp:197)
==28864== by 0x410171D: sf::priv::GlxContext::GlxContext(sf::priv::GlxContext*, sf::ContextSettings const&, sf::priv::WindowImpl const*, unsigned int) (GlxContext.cpp:80)
==28864== by 0x40FA5C1: sf::priv::GlContext::New(sf::ContextSettings const&, sf::priv::WindowImpl const*, unsigned int) (GlContext.cpp:159)
==28864== by 0x40FE850: sf::Window::Create(sf::VideoMode, std::string const&, unsigned long, sf::ContextSettings const&) (Window.cpp:129)
==28864==
==28864== 60,996 bytes in 299 blocks are possibly lost in loss record 593 of 678
==28864== at 0x4025018: malloc (vg_replace_malloc.c:236)
==28864== by 0x44E3E6A: ??? (in /usr/lib/libGL.so.1.2)
==28864== by 0x44E7EA8: ??? (in /usr/lib/libGL.so.1.2)
==28864== by 0x44E81D3: ??? (in /usr/lib/libGL.so.1.2)
==28864== by 0x450C624: ??? (in /usr/lib/libGL.so.1.2)
==28864== by 0x44E84E1: ??? (in /usr/lib/libGL.so.1.2)
==28864== by 0x44E54B2: ??? (in /usr/lib/libGL.so.1.2)
==28864== by 0x44E55E4: glXGetConfig (in /usr/lib/libGL.so.1.2)
==28864== by 0x4101C67: sf::priv::GlxContext::CreateContext(sf::priv::GlxContext*, unsigned int, sf::ContextSettings const&) (GlxContext.cpp:197)
==28864== by 0x410165A: sf::priv::GlxContext::GlxContext(sf::priv::GlxContext*) (GlxContext.cpp:62)
==28864== by 0x40FA541: sf::priv::GlContext::New() (GlContext.cpp:145)
==28864== by 0x40FA2BB: (anonymous namespace)::GetInternalContext() (GlContext.cpp:90)
==28864==
==28864== 1,191,564 (18,972 direct, 1,172,592 indirect) bytes in 93 blocks are definitely lost in loss record 640 of 678
==28864== at 0x4025018: malloc (vg_replace_malloc.c:236)
==28864== by 0x44E3E6A: ??? (in /usr/lib/libGL.so.1.2)
==28864== by 0x44E7EA8: ??? (in /usr/lib/libGL.so.1.2)
==28864== by 0x44E8191: ??? (in /usr/lib/libGL.so.1.2)
==28864== by 0x450C624: ??? (in /usr/lib/libGL.so.1.2)
==28864== by 0x44E84E1: ??? (in /usr/lib/libGL.so.1.2)
==28864== by 0x44E54B2: ??? (in /usr/lib/libGL.so.1.2)
==28864== by 0x44E55E4: glXGetConfig (in /usr/lib/libGL.so.1.2)
==28864== by 0x4101C67: sf::priv::GlxContext::CreateContext(sf::priv::GlxContext*, unsigned int, sf::ContextSettings const&) (GlxContext.cpp:197)
==28864== by 0x410165A: sf::priv::GlxContext::GlxContext(sf::priv::GlxContext*) (GlxContext.cpp:62)
==28864== by 0x40FA541: sf::priv::GlContext::New() (GlContext.cpp:145)
==28864== by 0x40FA2BB: (anonymous namespace)::GetInternalContext() (GlContext.cpp:90)
==28864==
==28864== 2,367,420 (18,768 direct, 2,348,652 indirect) bytes in 92 blocks are definitely lost in loss record 653 of 678
==28864== at 0x4025018: malloc (vg_replace_malloc.c:236)
==28864== by 0x44E3E6A: ??? (in /usr/lib/libGL.so.1.2)
==28864== by 0x44E7EA8: ??? (in /usr/lib/libGL.so.1.2)
==28864== by 0x44E81D3: ??? (in /usr/lib/libGL.so.1.2)
==28864== by 0x450C624: ??? (in /usr/lib/libGL.so.1.2)
==28864== by 0x44E84E1: ??? (in /usr/lib/libGL.so.1.2)
==28864== by 0x44E54B2: ??? (in /usr/lib/libGL.so.1.2)
==28864== by 0x44E55E4: glXGetConfig (in /usr/lib/libGL.so.1.2)
==28864== by 0x4101C67: sf::priv::GlxContext::CreateContext(sf::priv::GlxContext*, unsigned int, sf::ContextSettings const&) (GlxContext.cpp:197)
==28864== by 0x410165A: sf::priv::GlxContext::GlxContext(sf::priv::GlxContext*) (GlxContext.cpp:62)
==28864== by 0x40FA541: sf::priv::GlContext::New() (GlContext.cpp:145)
==28864== by 0x40FA2BB: (anonymous namespace)::GetInternalContext() (GlContext.cpp:90)
==28864==
==28864== LEAK SUMMARY:
==28864== definitely lost: 88,782 bytes in 473 blocks
==28864== indirectly lost: 3,598,764 bytes in 17,641 blocks
==28864== possibly lost: 71,560 bytes in 351 blocks
==28864== still reachable: 773,664,962 bytes in 98,409 blocks
==28864== suppressed: 0 bytes in 0 blocks
==28864== Reachable blocks (those to which a pointer was found) are not shown.
==28864== To see them, rerun with: --leak-check=full --show-reachable=yes
==28864==
==28864== For counts of detected and suppressed errors, rerun with: -v
==28864== ERROR SUMMARY: 19 errors from 19 contexts (suppressed: 89 from 12)