Make sure we shut down cleanly

This commit is contained in:
Joshua Granick
2015-07-03 05:18:06 -07:00
parent 49e485480e
commit 1105b0fe4e
3 changed files with 23 additions and 20 deletions

View File

@@ -104,7 +104,9 @@ class NativeApplication {
#elseif (cpp || neko)
return lime_application_exec (handle);
var result = lime_application_exec (handle);
__cleanup ();
return result;
#else

View File

@@ -135,6 +135,13 @@ namespace lime {
ProcessGamepadEvent (event);
break;
case SDL_FINGERMOTION:
case SDL_FINGERDOWN:
case SDL_FINGERUP:
ProcessTouchEvent (event);
break;
case SDL_JOYAXISMOTION:
case SDL_JOYBALLMOTION:
case SDL_JOYBUTTONDOWN:
@@ -159,13 +166,6 @@ namespace lime {
ProcessMouseEvent (event);
break;
case SDL_FINGERMOTION:
case SDL_FINGERDOWN:
case SDL_FINGERUP:
ProcessTouchEvent (event);
break;
case SDL_TEXTINPUT:
case SDL_TEXTEDITING:
@@ -394,39 +394,41 @@ namespace lime {
void SDLApplication::ProcessTouchEvent (SDL_Event* event) {
if (TouchEvent::callback) {
switch (event->type) {
case SDL_FINGERMOTION:
touchEvent.type = TOUCH_MOVE;
touchEvent.x = event->tfinger.x;
touchEvent.y = event->tfinger.y;
touchEvent.id = event->tfinger.fingerId;
break;
case SDL_FINGERDOWN:
touchEvent.type = TOUCH_START;
touchEvent.x = event->tfinger.x;
touchEvent.y = event->tfinger.y;
touchEvent.id = event->tfinger.fingerId;
break;
case SDL_FINGERUP:
touchEvent.type = TOUCH_END;
touchEvent.x = event->tfinger.x;
touchEvent.y = event->tfinger.y;
touchEvent.id = event->tfinger.fingerId;
break;
}
TouchEvent::Dispatch (&touchEvent);
}
}

View File

@@ -83,8 +83,8 @@ namespace lime {
}
lime::fseek (file, 0, SEEK_END);
int size = lime::ftell (file);
lime::fseek (file, 0, SEEK_SET);
if (size > 0) {
@@ -94,7 +94,6 @@ namespace lime {
}
lime::fclose (file);
delete file;
}