X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/f6bcfd974ef26faf6f91a62cac09827e09463fd1..4b04699b670b4ab4632229fa0264d154acd3bec1:/samples/ipc/client.cpp diff --git a/samples/ipc/client.cpp b/samples/ipc/client.cpp index 9b694cc696..e5e9b105f4 100644 --- a/samples/ipc/client.cpp +++ b/samples/ipc/client.cpp @@ -33,7 +33,7 @@ #include "ddesetup.h" -#if defined(__WXGTK__) || defined(__WXMOTIF__) +#if defined(__WXGTK__) || defined(__WXX11__) || defined(__WXMOTIF__) || defined(__WXMAC__) #include "mondrian.xpm" #endif @@ -60,7 +60,7 @@ char ipc_buffer[4000]; wxListBox *the_list = NULL; MyConnection *the_connection = NULL; -MyClient *my_client ; +MyClient *my_client; // ============================================================================ // implementation @@ -121,49 +121,49 @@ int MyApp::OnExit() if (the_connection) { the_connection->Disconnect(); + delete the_connection; + the_connection = NULL; } // will delete the connection too + // Update: Seems it didn't delete the_connection, because there's a leak. + // Deletion is now explicitly done a few lines up. delete my_client; + + return 0; } // Define my frame constructor MyFrame::MyFrame(wxFrame *frame, const wxString& title) - : wxFrame(frame, -1, title) + : wxFrame(frame, -1, title, wxDefaultPosition, wxSize(300, 200)) { - panel = NULL; - // Give it an icon SetIcon(wxICON(mondrian)); // Make a menubar wxMenu *file_menu = new wxMenu; - file_menu->Append(CLIENT_EXECUTE, "Execute"); - file_menu->Append(CLIENT_REQUEST, "Request"); - file_menu->Append(CLIENT_POKE, "Poke"); - file_menu->Append(CLIENT_QUIT, "Quit"); + file_menu->Append(CLIENT_EXECUTE, "&Execute\tCtrl-E"); + file_menu->Append(CLIENT_REQUEST, "&Request\tCtrl-R"); + file_menu->Append(CLIENT_POKE, "&Poke\tCtrl-P"); + file_menu->Append(CLIENT_QUIT, "&Quit\tCtrl-Q"); wxMenuBar *menu_bar = new wxMenuBar; - menu_bar->Append(file_menu, "File"); + menu_bar->Append(file_menu, "&File"); // Associate the menu bar with the frame SetMenuBar(menu_bar); - // Make a panel - panel = new wxPanel(this); - the_list = new wxListBox(panel, CLIENT_LISTBOX, wxPoint(5, 5)); + // Make a listbox which shows the choices made in the server + the_list = new wxListBox(this, CLIENT_LISTBOX, wxPoint(5, 5)); the_list->Append("Apple"); the_list->Append("Pear"); the_list->Append("Orange"); the_list->Append("Banana"); the_list->Append("Fruit"); - - panel->Fit(); - Fit(); } void MyFrame::OnExecute(wxCommandEvent& event) @@ -207,11 +207,6 @@ MyConnection::MyConnection() { } -MyConnection::~MyConnection() -{ - the_connection = NULL; -} - bool MyConnection::OnAdvise(const wxString& topic, const wxString& item, char *data, int size, wxIPCFormat format) { if (the_list)