diff options
Diffstat (limited to 'src/gui/buysell.cpp')
-rw-r--r-- | src/gui/buysell.cpp | 16 |
1 files changed, 13 insertions, 3 deletions
diff --git a/src/gui/buysell.cpp b/src/gui/buysell.cpp index 0550a822..75c49b1f 100644 --- a/src/gui/buysell.cpp +++ b/src/gui/buysell.cpp @@ -32,6 +32,7 @@ BuySellDialog::BuySellDialog(Network *network): Window(_("Shop")), mNetwork(network) { + setWindowName("BuySell"); Button *buyButton = 0; static const char *buttonNames[] = { N_("Buy"), N_("Sell"), N_("Cancel"), 0 @@ -48,16 +49,25 @@ BuySellDialog::BuySellDialog(Network *network): } buyButton->requestFocus(); - setContentSize(x, 2 * y + buyButton->getHeight()); + loadWindowState(); - requestFocus(); + setContentSize(x, 2 * y + buyButton->getHeight()); } void BuySellDialog::logic() { Window::logic(); - if (!current_npc) setVisible(false); + if (isVisible() && !current_npc) { + setVisible(false); + } +} + +void BuySellDialog::setVisible(bool visible) +{ + Window::setVisible(visible); + + if (visible) requestFocus(); } void BuySellDialog::action(const gcn::ActionEvent &event) |