Brought linux in sync with OSX fixes

This commit is contained in:
Jack Andersen 2015-10-31 14:14:32 -10:00
parent f796d66407
commit dfceab59ab
3 changed files with 14 additions and 14 deletions

View File

@ -48,24 +48,24 @@ namespace boo
{
IApplication* APP = NULL;
std::unique_ptr<IApplication> ApplicationBootstrap(IApplication::EPlatformType platform,
IApplicationCallback& cb,
const std::string& uniqueName,
const std::string& friendlyName,
const std::string& pname,
const std::vector<std::string>& args,
bool singleInstance)
int ApplicationRun(IApplication::EPlatformType platform,
IApplicationCallback& cb,
const std::string& uniqueName,
const std::string& friendlyName,
const std::string& pname,
const std::vector<std::string>& args,
bool singleInstance)
{
if (APP)
return std::unique_ptr<IApplication>();
return 1;
if (platform == IApplication::PLAT_WAYLAND)
APP = new ApplicationWayland(cb, uniqueName, friendlyName, pname, args, singleInstance);
else if (platform == IApplication::PLAT_XCB ||
platform == IApplication::PLAT_AUTO)
APP = new ApplicationXCB(cb, uniqueName, friendlyName, pname, args, singleInstance);
else
return std::unique_ptr<IApplication>();
return std::unique_ptr<IApplication>(APP);
return 1;
return APP->run();
}
}

View File

@ -71,9 +71,9 @@ public:
return m_args;
}
std::unique_ptr<IWindow> newWindow(const std::string& title)
IWindow* newWindow(const std::string& title)
{
return std::unique_ptr<IWindow>(_WindowWaylandNew(title));
return _WindowWaylandNew(title);
}
};

View File

@ -306,11 +306,11 @@ public:
return m_args;
}
std::unique_ptr<IWindow> newWindow(const std::string& title)
IWindow* newWindow(const std::string& title)
{
IWindow* newWindow = _WindowXCBNew(title, m_xDisp, m_xDefaultScreen, m_lastGlxCtx);
m_windows[(Window)newWindow->getPlatformHandle()] = newWindow;
return std::unique_ptr<IWindow>(newWindow);
return newWindow;
}
/* Last GLX context */