changeset 338:89a1e512f12b

Backout changeset 6b46e55a8854 that was causing regressions
author Deepak Bhole <dbhole@redhat.com>
date Mon, 05 Mar 2012 12:03:38 -0500
parents c93ef2cc3535
children 58c02a3ace5d
files ChangeLog netx/net/sourceforge/jnlp/cache/DefaultDownloadIndicator.java
diffstat 2 files changed, 36 insertions(+), 34 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog	Wed Feb 29 13:56:57 2012 -0500
+++ b/ChangeLog	Mon Mar 05 12:03:38 2012 -0500
@@ -1,3 +1,15 @@
+2012-03-05  Deepak Bhole <dbhole@redhat.com>
+
+	Backout changeset 6b46e55a8854 that was causing regressions
+
+	2011-06-10  Denis Lila  <dlila@redhat.com>
+	* netx/net/sourceforge/jnlp/cache/DefaultDownloadIndicator.java:
+	(frameMutex): New mutex to synchronize accesses to "frame".
+	(getListener): Make almost all of it synchronized on frameMutex.
+	(disposeListener): Sync hider's body around frameMutex and call
+	dispose on the frame so that the awt threads die when they should.
+	(addProgressPanel): Sync "frame" usage.
+
 2012-02-29  Deepak Bhole <dbhole@redhat.com>
 
 	* netx/net/sourceforge/jnlp/security/CertificateUtils.java
--- a/netx/net/sourceforge/jnlp/cache/DefaultDownloadIndicator.java	Wed Feb 29 13:56:57 2012 -0500
+++ b/netx/net/sourceforge/jnlp/cache/DefaultDownloadIndicator.java	Mon Mar 05 12:03:38 2012 -0500
@@ -57,7 +57,6 @@
 
     /** the display window */
     private static JFrame frame;
-    private static final Object frameMutex = new Object();
 
     /** shared constraint */
     static GridBagConstraints vertical;
@@ -98,32 +97,30 @@
     public DownloadServiceListener getListener(ApplicationInstance app, String downloadName, URL resources[]) {
         DownloadPanel result = new DownloadPanel(downloadName);
 
-        synchronized (frameMutex) {
-            if (frame == null) {
-                frame = new JFrame(downloading + "...");
-                frame.getContentPane().setLayout(new GridBagLayout());
-            }
+        if (frame == null) {
+            frame = new JFrame(downloading + "...");
+            frame.getContentPane().setLayout(new GridBagLayout());
+        }
 
-            if (resources != null)
-                for (int i = 0; i < resources.length; i++)
-                    result.addProgressPanel(resources[i], null);
+        if (resources != null)
+            for (int i = 0; i < resources.length; i++)
+                result.addProgressPanel(resources[i], null);
 
-            frame.getContentPane().add(result, vertical);
-            frame.pack();
+        frame.getContentPane().add(result, vertical);
+        frame.pack();
 
-            if (!frame.isVisible()) {
-                Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
-                Insets insets = Toolkit.getDefaultToolkit().getScreenInsets(frame.getGraphicsConfiguration());
-                Dimension screen = new Dimension(screenSize.width - insets.left,
-                        screenSize.height - insets.top);
-                frame.setLocation(screen.width - frame.getWidth(),
-                        screen.height - frame.getHeight());
-            }
+        if (!frame.isVisible()) {
+            Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
+            Insets insets = Toolkit.getDefaultToolkit().getScreenInsets(frame.getGraphicsConfiguration());
+            Dimension screen = new Dimension(screenSize.width - insets.left,
+                    screenSize.height - insets.top);
+            frame.setLocation(screen.width - frame.getWidth(),
+                              screen.height - frame.getHeight());
+        }
 
-            frame.setVisible(true);
+        frame.setVisible(true);
 
-            return result;
-        }
+        return result;
     }
 
     /**
@@ -137,16 +134,11 @@
 
         ActionListener hider = new ActionListener() {
             public void actionPerformed(ActionEvent evt) {
-                synchronized(frameMutex) {
-                    frame.getContentPane().remove((DownloadPanel) listener);
-                    frame.pack();
+                if (frame.getContentPane().getComponentCount() == 1)
+                    frame.setVisible(false);
 
-                    if (frame.getContentPane().getComponentCount() == 0) {
-                        frame.setVisible(false);
-                        frame.dispose();
-                        frame = null;
-                    }
-                }
+                frame.getContentPane().remove((DownloadPanel) listener);
+                frame.pack();
             }
         };
 
@@ -194,9 +186,7 @@
                 ProgressPanel panel = new ProgressPanel(url, version);
 
                 add(panel, verticalIndent);
-                synchronized (frameMutex) {
-                    frame.pack();
-                }
+                frame.pack();
 
                 urls.add(url);
                 panels.add(panel);