Terminate the stream when stream frame is closed

This commit is contained in:
Cameron Gutman
2013-12-29 22:00:15 -06:00
parent 355952783c
commit 86049b860e

View File

@@ -10,6 +10,9 @@ import java.awt.GraphicsDevice;
import java.awt.GraphicsEnvironment;
import java.awt.Point;
import java.awt.Toolkit;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.awt.event.WindowListener;
import java.awt.image.BufferedImage;
import java.util.ArrayList;
import java.util.Arrays;
@@ -27,6 +30,8 @@ import javax.swing.JProgressBar;
import com.limelight.Limelight;
import com.limelight.input.KeyboardHandler;
import com.limelight.input.MouseHandler;
import com.limelight.input.gamepad.GamepadHandler;
import com.limelight.input.gamepad.GamepadListener;
import com.limelight.nvstream.NvConnection;
import com.limelight.nvstream.NvConnectionListener.Stage;
import com.limelight.nvstream.StreamConfiguration;
@@ -90,6 +95,8 @@ public class StreamFrame extends JFrame {
this.getContentPane().setBackground(Color.BLACK);
this.getRootPane().setBackground(Color.BLACK);
this.addWindowListener(createWindowListener());
if (fullscreen) {
makeFullScreen(streamConfig);
}
@@ -247,6 +254,19 @@ public class StreamFrame extends JFrame {
}
spinnerLabel.setText("Starting " + stage.getName() + "...");
}
/**
* Creates the listener for the window.
* It terminates the connection when the window is closed
*/
private WindowListener createWindowListener() {
return new WindowAdapter() {
@Override
public void windowClosing(WindowEvent e) {
close();
}
};
}
/**
* Hides the spinner and the label