瀏覽代碼

Pass thread exit code from app thread as process exit code.

Branimir Karadžić 10 年之前
父節點
當前提交
b2bc9238d0

+ 4 - 3
examples/common/entry/entry_sdl.cpp

@@ -320,7 +320,7 @@ namespace entry
 			initTranslateGamepadAxis(SDL_CONTROLLER_AXIS_TRIGGERRIGHT, GamepadAxis::RightZ);
 			initTranslateGamepadAxis(SDL_CONTROLLER_AXIS_TRIGGERRIGHT, GamepadAxis::RightZ);
 		}
 		}
 
 
-		void run(int _argc, char** _argv)
+		int run(int _argc, char** _argv)
 		{
 		{
 			m_mte.m_argc = _argc;
 			m_mte.m_argc = _argc;
 			m_mte.m_argv = _argv;
 			m_mte.m_argv = _argv;
@@ -710,6 +710,8 @@ namespace entry
 
 
 			SDL_DestroyWindow(m_window[0]);
 			SDL_DestroyWindow(m_window[0]);
 			SDL_Quit();
 			SDL_Quit();
+
+			return m_thread.getExitCode();
 		}
 		}
 
 
 		WindowHandle findHandle(uint32_t _windowId)
 		WindowHandle findHandle(uint32_t _windowId)
@@ -896,8 +898,7 @@ namespace entry
 int main(int _argc, char** _argv)
 int main(int _argc, char** _argv)
 {
 {
 	using namespace entry;
 	using namespace entry;
-	s_ctx.run(_argc, _argv);
-	return 0;
+	return s_ctx.run(_argc, _argv);
 }
 }
 
 
 #endif // ENTRY_CONFIG_USE_SDL
 #endif // ENTRY_CONFIG_USE_SDL

+ 1 - 1
examples/common/entry/entry_windows.cpp

@@ -499,7 +499,7 @@ namespace entry
 
 
 			s_xinput.shutdown();
 			s_xinput.shutdown();
 
 
-			return 0;
+			return thread.getExitCode();
 		}
 		}
 
 
 		LRESULT process(HWND _hwnd, UINT _id, WPARAM _wparam, LPARAM _lparam)
 		LRESULT process(HWND _hwnd, UINT _id, WPARAM _wparam, LPARAM _lparam)

+ 1 - 1
examples/common/entry/entry_x11.cpp

@@ -477,7 +477,7 @@ namespace entry
 			XUnmapWindow(m_display, m_window[0]);
 			XUnmapWindow(m_display, m_window[0]);
 			XDestroyWindow(m_display, m_window[0]);
 			XDestroyWindow(m_display, m_window[0]);
 
 
-			return EXIT_SUCCESS;
+			return m_thread.getExitCode();
 		}
 		}
 
 
 		void setModifier(Modifier::Enum _modifier, bool _set)
 		void setModifier(Modifier::Enum _modifier, bool _set)