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

View File

@ -71,9 +71,9 @@ public:
return m_args; 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; 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); IWindow* newWindow = _WindowXCBNew(title, m_xDisp, m_xDefaultScreen, m_lastGlxCtx);
m_windows[(Window)newWindow->getPlatformHandle()] = newWindow; m_windows[(Window)newWindow->getPlatformHandle()] = newWindow;
return std::unique_ptr<IWindow>(newWindow); return newWindow;
} }
/* Last GLX context */ /* Last GLX context */