synchronized (synch) {\r
running = false;\r
pause = true;\r
+ while (pause) {\r
+ try {\r
+ synch.wait();\r
+ } catch (InterruptedException ignored) {\r
+ }\r
+ }\r
}\r
- while (pause); // busy wait. ya, nasty... \r
}\r
\r
void destroy() {\r
synchronized (synch) {\r
running = false;\r
destroy = true;\r
+ \r
+ while (destroy) {\r
+ try {\r
+ synch.wait();\r
+ } catch(InterruptedException ex) { \r
+ }\r
+ }\r
}\r
- while (destroy);\r
}\r
\r
@Override\r
deltaTime = (time - lastFrameTime) / 1000000000.0f;\r
lastFrameTime = time;\r
mean.addValue(deltaTime);\r
- \r
+\r
boolean lrunning = false;\r
boolean lpause = false;\r
boolean ldestroy = false;\r
boolean lresume = false;\r
- \r
- synchronized(synch) {\r
+\r
+ synchronized (synch) {\r
lrunning = running;\r
lpause = pause;\r
ldestroy = destroy;\r
lresume = resume;\r
- \r
- if (resume) { \r
+\r
+ if (resume) {\r
resume = false;\r
}\r
- \r
- if (pause) { \r
- pause = false; \r
+\r
+ if (pause) {\r
+ pause = false;\r
+ synch.notifyAll();\r
}\r
- \r
- if (destroy) { \r
+\r
+ if (destroy) {\r
destroy = false;\r
- } \r
+ synch.notifyAll();\r
+ }\r
}\r
- \r
+\r
if (lresume) {\r
app.listener.resume();\r
Gdx.app.log("AndroidGraphics", "resumed");\r
}\r
- \r
+\r
if (lrunning) {\r
- ((AndroidInput)Gdx.input).processEvents();\r
+ app.input.processEvents();\r
app.listener.render();\r
}\r
\r
- if (lpause) { \r
+ if (lpause) {\r
app.listener.pause();\r
Gdx.app.log("AndroidGraphics", "paused");\r
}\r
if (ldestroy) {\r
app.listener.dispose();\r
Gdx.app.log("AndroidGraphics", "destroyed");\r
- } \r
- \r
+ }\r
+\r
if (time - frameStart > 1000000000) {\r
fps = frames;\r
frames = 0;\r