tweaking program flow to prevent crash on closing

This commit is contained in:
David Skoland 2017-01-17 14:02:30 +01:00
parent e468bc53b7
commit d842caafe4
7 changed files with 17 additions and 106 deletions

View File

@ -13,7 +13,8 @@ AOApplication::AOApplication(int &argc, char **argv) : QApplication(argc, argv)
AOApplication::~AOApplication()
{
destruct_lobby();
destruct_courtroom();
}
void AOApplication::construct_lobby()

View File

@ -1,10 +1,10 @@
#include <QDebug>
#include "aobutton.h"
#include "debug_functions.h"
#include "path_functions.h"
#include "file_functions.h"
#include "aobutton.h"
#include <QDebug>
AOButton::AOButton(QWidget *parent) : QPushButton(parent)
{

View File

@ -2,6 +2,8 @@
#include "aoapplication.h"
#include <QDebug>
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<AOCharButton*> ui_char_button_list;
delete ui_selector;
delete ui_back_to_lobby;
delete ui_char_password;
delete ui_spectator;
}

View File

@ -14,6 +14,7 @@
#include <QComboBox>
#include <QSlider>
#include <QVector>
#include <QCloseEvent>
class AOApplication;

View File

@ -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;
}

View File

@ -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();
}

View File

@ -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()