diff --git a/console-proxy/src/com/cloud/consoleproxy/AjaxFIFOImageCache.java b/console-proxy/src/com/cloud/consoleproxy/AjaxFIFOImageCache.java index bbf45cfefaf..3d69aab8984 100644 --- a/console-proxy/src/com/cloud/consoleproxy/AjaxFIFOImageCache.java +++ b/console-proxy/src/com/cloud/consoleproxy/AjaxFIFOImageCache.java @@ -25,7 +25,7 @@ public class AjaxFIFOImageCache { private List fifoQueue; private Map cache; private int cacheSize; - private int nextKey = 1; + private int nextKey = 0; public AjaxFIFOImageCache(int cacheSize) { this.cacheSize = cacheSize; @@ -57,6 +57,9 @@ public class AjaxFIFOImageCache { } public synchronized byte[] getImage(int key) { + if (key == 0) { + key = nextKey; + } if(cache.containsKey(key)) { if(s_logger.isTraceEnabled()) @@ -70,7 +73,7 @@ public class AjaxFIFOImageCache { } public synchronized int getNextKey() { - return nextKey++; + return ++nextKey; } public synchronized int getKey() { diff --git a/console-proxy/src/com/cloud/consoleproxy/ConsoleProxyAjaxImageHandler.java b/console-proxy/src/com/cloud/consoleproxy/ConsoleProxyAjaxImageHandler.java index a2736fb3df1..e855432688a 100644 --- a/console-proxy/src/com/cloud/consoleproxy/ConsoleProxyAjaxImageHandler.java +++ b/console-proxy/src/com/cloud/consoleproxy/ConsoleProxyAjaxImageHandler.java @@ -99,7 +99,7 @@ public class ConsoleProxyAjaxImageHandler implements HttpHandler { ConsoleProxyClient viewer = ConsoleProxy.getVncViewer(param); AjaxFIFOImageCache imageCache =viewer.getAjaxImageCache(); - byte[] img = imageCache.getImage(imageCache.getKey() - 1); + byte[] img = imageCache.getImage(0); if(img != null) { Headers hds = t.getResponseHeaders();