diff --git a/platform/x11/godot_x11.cpp b/platform/x11/godot_x11.cpp index f85ba170201..b727ecbd170 100644 --- a/platform/x11/godot_x11.cpp +++ b/platform/x11/godot_x11.cpp @@ -26,6 +26,9 @@ /* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ /* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ /*************************************************************************/ +#include +#include + #include "main/main.h" #include "os_x11.h" @@ -33,6 +36,9 @@ int main(int argc, char* argv[]) { OS_X11 os; + char *cwd = (char*)malloc(PATH_MAX); + getcwd(cwd, PATH_MAX); + Error err = Main::setup(argv[0],argc-1,&argv[1]); if (err!=OK) return 255; @@ -41,5 +47,8 @@ int main(int argc, char* argv[]) { os.run(); // it is actually the OS that decides how to run Main::cleanup(); + chdir(cwd); + free(cwd); + return os.get_exit_code(); }