Window resizing stability fixes

This commit is contained in:
Jack Andersen
2015-11-16 20:41:32 -10:00
parent 49da287791
commit 4d133edd2c
7 changed files with 83 additions and 21 deletions

View File

@@ -17,6 +17,8 @@ DBusConnection* RegisterDBus(const char* appName, bool& isFirst);
#include <sys/param.h>
#include <thread>
#include <mutex>
#include <condition_variable>
namespace boo
{
@@ -239,11 +241,18 @@ public:
/* Spawn client thread */
int clientReturn = INT_MIN;
std::mutex initmt;
std::condition_variable initcv;
std::unique_lock<std::mutex> outerLk(initmt);
std::thread clientThread([&]()
{
std::unique_lock<std::mutex> innerLk(initmt);
innerLk.unlock();
initcv.notify_one();
clientReturn = m_callback.appMain(this);
pthread_kill(mainThread, SIGTERM);
});
initcv.wait(outerLk);
/* Begin application event loop */
while (clientReturn == INT_MIN)