commit ddcfc2c29d04d463c6b2313990311fd1982916cb
Author: Leszek Koltunski <leszek@distoretedandroid.org>
Date:   Thu Dec 8 12:56:20 2016 +0000

    Some more tweaking to the 'Save thread.'

diff --git a/src/main/java/org/distorted/examples/save/SaveWorkerThread.java b/src/main/java/org/distorted/examples/save/SaveWorkerThread.java
index 465fb3a..a13eb32 100644
--- a/src/main/java/org/distorted/examples/save/SaveWorkerThread.java
+++ b/src/main/java/org/distorted/examples/save/SaveWorkerThread.java
@@ -83,14 +83,14 @@ class SaveWorkerThread extends Thread
 
     while(true)
       {
-      if( mBuffers.size()>0 )
-        {
-        load = mBuffers.remove(0);
-        process(load);
-        }
-
       synchronized(mThis)
         {
+        while( mBuffers.size()>0 )
+          {
+          load = mBuffers.remove(0);
+          process(load);
+          }
+
         try  { mThis.wait(); }
         catch(InterruptedException ex) { }
         }
@@ -101,11 +101,10 @@ class SaveWorkerThread extends Thread
 
   static void newBuffer(ByteBuffer buffer, int width, int height, String filename)
     {
-    WorkLoad load = new WorkLoad(buffer,width,height,filename);
-    mBuffers.add(load);
-
     synchronized(mThis)
       {
+      WorkLoad load = new WorkLoad(buffer,width,height,filename);
+      mBuffers.add(load);
       mThis.notify();
       }
     }
