Make local_terminal a member variable
This commit is contained in:
+3
-3
@@ -100,15 +100,15 @@ void STMClient::main_init( void )
|
||||
}
|
||||
|
||||
/* local state */
|
||||
Terminal::Complete terminal( window_size.ws_col, window_size.ws_row );
|
||||
local_terminal = new Terminal::Complete( window_size.ws_col, window_size.ws_row );
|
||||
|
||||
/* initialize screen */
|
||||
string init = Terminal::Display::new_frame( false, terminal.get_fb(), terminal.get_fb() );
|
||||
string init = Terminal::Display::new_frame( false, local_terminal->get_fb(), local_terminal->get_fb() );
|
||||
swrite( STDOUT_FILENO, init.data(), init.size() );
|
||||
|
||||
/* open network */
|
||||
Network::UserStream blank;
|
||||
network = new Network::Transport< Network::UserStream, Terminal::Complete >( blank, terminal,
|
||||
network = new Network::Transport< Network::UserStream, Terminal::Complete >( blank, *local_terminal,
|
||||
key.c_str(), ip.c_str(), port );
|
||||
|
||||
/* tell server the size of the terminal */
|
||||
|
||||
@@ -20,6 +20,7 @@ private:
|
||||
int winch_fd, shutdown_signal_fd;
|
||||
struct winsize window_size;
|
||||
|
||||
Terminal::Complete *local_terminal;
|
||||
Network::Transport< Network::UserStream, Terminal::Complete > *network;
|
||||
uint64_t last_remote_num;
|
||||
|
||||
@@ -34,6 +35,7 @@ public:
|
||||
saved_termios(), raw_termios(),
|
||||
winch_fd(), shutdown_signal_fd(),
|
||||
window_size(),
|
||||
local_terminal( NULL ),
|
||||
network( NULL ),
|
||||
last_remote_num( -1 )
|
||||
{}
|
||||
@@ -44,6 +46,10 @@ public:
|
||||
|
||||
~STMClient()
|
||||
{
|
||||
if ( local_terminal != NULL ) {
|
||||
delete local_terminal;
|
||||
}
|
||||
|
||||
if ( network != NULL ) {
|
||||
delete network;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user