From 1357bc9fe692fe0e740b76704ee8aa548bc6891a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jindra=20Pet=F8=EDk?= Date: Wed, 11 Sep 2013 19:51:27 +0200 Subject: [PATCH] fixed Cache viewer when cache directory does not exist (browser not installed) --- .../com/jpexs/browsers/cache/chrome/ChromeCache.java | 3 +++ .../jpexs/browsers/cache/firefox/FirefoxCache.java | 6 ++++++ .../decompiler/flash/gui/LoadFromCacheFrame.java | 11 +++++++---- 3 files changed, 16 insertions(+), 4 deletions(-) diff --git a/trunk/src/com/jpexs/browsers/cache/chrome/ChromeCache.java b/trunk/src/com/jpexs/browsers/cache/chrome/ChromeCache.java index 768bc2172..aa7a096a0 100644 --- a/trunk/src/com/jpexs/browsers/cache/chrome/ChromeCache.java +++ b/trunk/src/com/jpexs/browsers/cache/chrome/ChromeCache.java @@ -47,6 +47,9 @@ public class ChromeCache implements CacheImplementation { if (!loaded) { refresh(); } + if (!loaded) { + return null; + } List ret = new ArrayList<>(); try { List entries = index.getEntries(); diff --git a/trunk/src/com/jpexs/browsers/cache/firefox/FirefoxCache.java b/trunk/src/com/jpexs/browsers/cache/firefox/FirefoxCache.java index 596779068..d832c5be0 100644 --- a/trunk/src/com/jpexs/browsers/cache/firefox/FirefoxCache.java +++ b/trunk/src/com/jpexs/browsers/cache/firefox/FirefoxCache.java @@ -34,6 +34,9 @@ public class FirefoxCache implements CacheImplementation { @Override public void refresh() { File dir = getCacheDirectory(); + if(dir==null){ + return; + } File cacheMapFile = new File(dir, "_CACHE_MAP_"); try { map = new CacheMap(cacheMapFile); @@ -105,6 +108,9 @@ public class FirefoxCache implements CacheImplementation { if (profileDir != null) { cacheDir = new File(profileDir, "Cache"); } + if(!cacheDir.exists()){ + return null; + } return cacheDir; } diff --git a/trunk/src/com/jpexs/decompiler/flash/gui/LoadFromCacheFrame.java b/trunk/src/com/jpexs/decompiler/flash/gui/LoadFromCacheFrame.java index 946009196..ebba3bd91 100644 --- a/trunk/src/com/jpexs/decompiler/flash/gui/LoadFromCacheFrame.java +++ b/trunk/src/com/jpexs/decompiler/flash/gui/LoadFromCacheFrame.java @@ -147,10 +147,13 @@ public class LoadFromCacheFrame extends AppFrame implements ActionListener { } entries = new ArrayList<>(); for (CacheImplementation c : caches) { - for (CacheEntry en : c.getEntries()) { - String contentType = en.getHeader("Content-Type"); - if ("application/x-shockwave-flash".equals(contentType)) { - entries.add(en); + List list=c.getEntries(); + if(list!=null){ + for (CacheEntry en : c.getEntries()) { + String contentType = en.getHeader("Content-Type"); + if ("application/x-shockwave-flash".equals(contentType)) { + entries.add(en); + } } } }