From d842caafe4814a058169ab6a70bc8a43cdfaf0b6 Mon Sep 17 00:00:00 2001 From: David Skoland Date: Tue, 17 Jan 2017 14:02:30 +0100 Subject: [PATCH] tweaking program flow to prevent crash on closing --- aoapplication.cpp | 3 +- aobutton.cpp | 4 +-- courtroom.cpp | 89 +++++----------------------------------------- courtroom.h | 1 + lobby.cpp | 14 +------- main.cpp | 5 --- networkmanager.cpp | 7 ++-- 7 files changed, 17 insertions(+), 106 deletions(-) diff --git a/aoapplication.cpp b/aoapplication.cpp index 7706642..d15ced1 100644 --- a/aoapplication.cpp +++ b/aoapplication.cpp @@ -13,7 +13,8 @@ AOApplication::AOApplication(int &argc, char **argv) : QApplication(argc, argv) AOApplication::~AOApplication() { - + destruct_lobby(); + destruct_courtroom(); } void AOApplication::construct_lobby() diff --git a/aobutton.cpp b/aobutton.cpp index f701e3d..9f6ba23 100644 --- a/aobutton.cpp +++ b/aobutton.cpp @@ -1,10 +1,10 @@ -#include +#include "aobutton.h" #include "debug_functions.h" #include "path_functions.h" #include "file_functions.h" -#include "aobutton.h" +#include AOButton::AOButton(QWidget *parent) : QPushButton(parent) { diff --git a/courtroom.cpp b/courtroom.cpp index b8d2a5b..0c2fe55 100644 --- a/courtroom.cpp +++ b/courtroom.cpp @@ -2,6 +2,8 @@ #include "aoapplication.h" +#include + Courtroom::Courtroom(AOApplication *parent) : QMainWindow() { ao_app = parent; @@ -117,8 +119,9 @@ void Courtroom::set_widgets() ui_mute_list->resize(231, 159); ui_area_list->move(266, 494); - ui_area_list->resize(); + //ui_area_list->resize(); + /* QListWidget *ui_music_list; QLineEdit *ui_ic_chat_message; @@ -145,7 +148,8 @@ void Courtroom::set_widgets() AOButton *ui_objection; AOButton *ui_take_that; - AOButton *ui_ooc_toggle; + ui_ooc_toggle->move(100,100); + AOButton *ui_witness_testimony; AOButton *ui_cross_examination; @@ -156,7 +160,7 @@ void Courtroom::set_widgets() QCheckBox *ui_pre; QCheckBox *ui_flip; QCheckBox *ui_guard; -\ + AOButton *ui_custom_objection; AOButton *ui_realization; AOButton *ui_mute; @@ -187,87 +191,10 @@ void Courtroom::set_widgets() QLineEdit *ui_char_password; AOButton *ui_spectator; + */ } Courtroom::~Courtroom() { - delete ui_background; - //T0D0: deallocate viewport elements like background, desk, etc. - - delete ui_ic_chatlog; - - delete ui_server_chatlog; - delete ui_ms_chatlog; - - delete ui_mute_list; - delete ui_area_list; - delete ui_music_list; - - delete ui_ic_chat_message; - - delete ui_ooc_chat_message; - delete ui_ooc_chat_name; - - delete ui_area_password; - delete ui_music_search; - - //T0D0: deallocate emote buttons - - delete ui_emote_left; - delete ui_emote_right; - - delete ui_defense_bar; - delete ui_prosecution_bar; - - delete ui_music_label; - delete ui_sfx_label; - delete ui_blip_label; - - delete ui_hold_it; - delete ui_objection; - delete ui_take_that; - - delete ui_ooc_toggle; - delete ui_witness_testimony; - delete ui_cross_examination; - - delete ui_change_character; - delete ui_reload_theme; - delete ui_call_mod; - - delete ui_pre; - delete ui_flip; - delete ui_guard; -\ - delete ui_custom_objection; - delete ui_realization; - delete ui_mute; - - delete ui_defense_plus; - delete ui_defense_minus; - - delete ui_prosecution_plus; - delete ui_prosecution_minus; - - delete ui_text_color; - - delete ui_music_slider; - delete ui_sfx_slider; - delete ui_blip_slider; - - delete ui_muted; - - delete ui_char_select_background; - - //T0D0: deallocate char buttons - //QVector ui_char_button_list; - - delete ui_selector; - - delete ui_back_to_lobby; - - delete ui_char_password; - - delete ui_spectator; } diff --git a/courtroom.h b/courtroom.h index 3a8aed2..8c24fad 100644 --- a/courtroom.h +++ b/courtroom.h @@ -14,6 +14,7 @@ #include #include #include +#include class AOApplication; diff --git a/lobby.cpp b/lobby.cpp index 99ac66a..baf7d3b 100644 --- a/lobby.cpp +++ b/lobby.cpp @@ -279,17 +279,5 @@ void Lobby::set_player_count(int players_online, int max_players) Lobby::~Lobby() { - delete ui_background; - delete ui_public_servers; - delete ui_favorites; - delete ui_refresh; - delete ui_add_to_fav; - delete ui_connect; - delete ui_about; - delete ui_server_list; - delete ui_player_count; - delete ui_description; - delete ui_chatbox; - delete ui_chatname; - delete ui_chatmessage; + } diff --git a/main.cpp b/main.cpp index 7e1e800..f1e42fd 100644 --- a/main.cpp +++ b/main.cpp @@ -17,10 +17,5 @@ int main(int argc, char *argv[]) main_app.send_ms_packet(f_packet); main_app.w_lobby->show(); - //debug start - Courtroom w_courtroom; - w_courtroom.show(); - //debug end - return main_app.exec(); } diff --git a/networkmanager.cpp b/networkmanager.cpp index 1aa5a00..2568b69 100644 --- a/networkmanager.cpp +++ b/networkmanager.cpp @@ -9,8 +9,8 @@ NetworkManager::NetworkManager(AOApplication *parent) : QObject(parent) { ao_app = parent; - ms_socket = new QTcpSocket(); - server_socket = new QTcpSocket(); + ms_socket = new QTcpSocket(this); + server_socket = new QTcpSocket(this); QObject::connect(ms_socket, SIGNAL(readyRead()), this, SLOT(handle_ms_packet())); QObject::connect(server_socket, SIGNAL(readyRead()), this, SLOT(handle_server_packet())); @@ -18,8 +18,7 @@ NetworkManager::NetworkManager(AOApplication *parent) : QObject(parent) NetworkManager::~NetworkManager() { - delete ms_socket; - delete server_socket; + } void NetworkManager::connect_to_master()