From 3bc3b6f6e158226558f55f3ea81d44b9510d1b3b Mon Sep 17 00:00:00 2001 From: Keith Winstein Date: Fri, 30 Sep 2011 13:32:09 -0400 Subject: [PATCH] Make local_terminal a member variable --- stmclient.cpp | 6 +++--- stmclient.hpp | 6 ++++++ 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/stmclient.cpp b/stmclient.cpp index c30f280..cf4b094 100644 --- a/stmclient.cpp +++ b/stmclient.cpp @@ -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 */ diff --git a/stmclient.hpp b/stmclient.hpp index 99a561d..b96b22e 100644 --- a/stmclient.hpp +++ b/stmclient.hpp @@ -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; }