From 494cc72f97369ac633146bb1654c40cf1993fb00 Mon Sep 17 00:00:00 2001 From: Charles Dang Date: Wed, 23 Mar 2016 13:36:38 +1100 Subject: [PATCH] tlobby_main: enable closing a room tab if it's not currently active --- src/gui/dialogs/lobby/lobby.cpp | 10 +++++----- src/gui/dialogs/lobby/lobby.hpp | 2 +- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/gui/dialogs/lobby/lobby.cpp b/src/gui/dialogs/lobby/lobby.cpp index 754b04e1bcf4..8be2a9060b8c 100644 --- a/src/gui/dialogs/lobby/lobby.cpp +++ b/src/gui/dialogs/lobby/lobby.cpp @@ -1096,11 +1096,11 @@ tlobby_chat_window* tlobby_main::search_create_window(const std::string& name, add_label_data(data2, "room", whisper ? "<" + name + ">" : name); roomlistbox_->add_row(data2); - tbutton& close_button = find_widget(roomlistbox_->get_row_grid(roomlistbox_->get_item_count() - 1), "close_window", false); + const int row_index = roomlistbox_->get_item_count() - 1; + tbutton& close_button = find_widget(roomlistbox_->get_row_grid(row_index), "close_window", false); connect_signal_mouse_left_click(close_button, boost::bind(&tlobby_main::close_window_button_callback, - this, - boost::ref(*roomlistbox_->get_window()))); + this, row_index)); if(name == "lobby") { close_button.set_active(false); @@ -1599,9 +1599,9 @@ void tlobby_main::send_message_to_active_window(const std::string& input) } } -void tlobby_main::close_window_button_callback(twindow& /*window*/) +void tlobby_main::close_window_button_callback(size_t idx) { - close_active_window(); + close_window(idx); } void tlobby_main::create_button_callback(gui2::twindow& window) diff --git a/src/gui/dialogs/lobby/lobby.hpp b/src/gui/dialogs/lobby/lobby.hpp index 67d3198c89f5..ebf001e5792d 100644 --- a/src/gui/dialogs/lobby/lobby.hpp +++ b/src/gui/dialogs/lobby/lobby.hpp @@ -320,7 +320,7 @@ class tlobby_main : public tdialog, private events::chat_handler void send_message_to_active_window(const std::string& input); - void close_window_button_callback(twindow& window); + void close_window_button_callback(size_t idx); void create_button_callback(twindow& window);