Forward declarations are your friends
Why leak gl headers into most of kicad
This commit is contained in:
committed by
Seth Hillbrand
parent
09e30adbb1
commit
1ebcd24944
+8
-20
@@ -21,37 +21,25 @@
|
||||
#define KICAD_SINGLETON_H
|
||||
|
||||
#include <advanced_config.h>
|
||||
#include <bs_thread_pool.hpp>
|
||||
#include <gal/opengl/gl_context_mgr.h>
|
||||
|
||||
class GL_CONTEXT_MANAGER;
|
||||
namespace BS
|
||||
{
|
||||
class thread_pool;
|
||||
}
|
||||
|
||||
class KICAD_SINGLETON
|
||||
{
|
||||
public:
|
||||
KICAD_SINGLETON(){};
|
||||
|
||||
~KICAD_SINGLETON()
|
||||
{
|
||||
// This will wait for all threads to finish and then join them to the main thread
|
||||
delete m_ThreadPool;
|
||||
|
||||
m_ThreadPool = nullptr;
|
||||
|
||||
m_GLContextManager->DeleteAll();
|
||||
delete m_GLContextManager;
|
||||
m_GLContextManager = nullptr;
|
||||
};
|
||||
~KICAD_SINGLETON();
|
||||
|
||||
|
||||
void Init()
|
||||
{
|
||||
int num_threads = std::max( 0, ADVANCED_CFG::GetCfg().m_MaximumThreads );
|
||||
m_ThreadPool = new BS::thread_pool( num_threads );
|
||||
m_GLContextManager = new GL_CONTEXT_MANAGER();
|
||||
}
|
||||
void Init();
|
||||
|
||||
BS::thread_pool* m_ThreadPool;
|
||||
GL_CONTEXT_MANAGER* m_GLContextManager;
|
||||
|
||||
};
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user