Project::OSiRiON - Git repositories
Project::OSiRiON
News . About . Screenshots . Downloads . Forum . Wiki . Tracker . Git
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStijn Buys <ingar@osirion.org>2010-09-22 21:32:34 +0000
committerStijn Buys <ingar@osirion.org>2010-09-22 21:32:34 +0000
commita6f9773c358dd7d091ff64cbda504ab8d8066dd3 (patch)
tree226e23c4656957e908623ccda9d3d1c50240a0b4 /src/client/trademenu.cc
parentbbb43d1c15f2858573f5abb595aa62f8224e4d76 (diff)
full trading support for networked games
Diffstat (limited to 'src/client/trademenu.cc')
-rw-r--r--src/client/trademenu.cc12
1 files changed, 7 insertions, 5 deletions
diff --git a/src/client/trademenu.cc b/src/client/trademenu.cc
index 0b8fb64..91724f7 100644
--- a/src/client/trademenu.cc
+++ b/src/client/trademenu.cc
@@ -80,6 +80,7 @@ TradeMenu::TradeMenu(ui::Widget *parent, const char * label) : ui::Window(parent
menu_listitem = 0;
set_itemtype(0);
+ set_item(0);
hide();
}
@@ -97,17 +98,16 @@ void TradeMenu::set_itemtype(core::InfoType *item_type)
core::Inventory *inventory_player = 0;
core::Inventory *inventory_view = 0;
-
if (core::localcontrol())
- inventory_player = core::localcontrol()->inventory();
+ inventory_player = core::game()->request_inventory(core::localcontrol());
if(core::localplayer()->view())
- inventory_view = core::localplayer()->view()->inventory();
+ inventory_view = core::game()->request_inventory(core::localplayer()->view());
menu_inventorylistview->set_inventory(inventory_player, item_type);
menu_traderlistview->set_inventory(inventory_view, item_type);
- set_item(0);
+ //set_item(0);
}
void TradeMenu::set_item(ui::ListItem *item)
@@ -302,10 +302,12 @@ bool TradeMenu::on_emit(Widget *sender, const Event event, void *data)
set_item(menu_inventorylistview->selected());
}
return true;
+
} else if (event == ui::Widget::EventListViewChanged) {
// listview changed
if (sender == menu_traderlistview) {
set_item(menu_traderlistview->selected());
+
} else if (sender == menu_inventorylistview) {
set_item(menu_inventorylistview->selected());
}
@@ -318,7 +320,7 @@ bool TradeMenu::on_emit(Widget *sender, const Event event, void *data)
void TradeMenu::draw()
{
// sanity check
- if ((menu_inventorylistview->inventory() != (core::localcontrol() ? core::localcontrol()->inventory() : 0 )) ||
+ if ((menu_inventorylistview->inventory() != (core::localcontrol() ? core::localcontrol()->inventory() : 0 )) ||
(menu_traderlistview->inventory() != (core::localplayer()->view() ? core::localplayer()->view()->inventory() : 0 ))) {
set_itemtype(menu_itemtype);
}