summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrei Karas <akaras@inbox.ru>2013-11-06 00:18:50 +0300
committerAndrei Karas <akaras@inbox.ru>2013-11-06 00:18:50 +0300
commita7b5a52cdecaed2b991ec061296b3989f9860199 (patch)
tree9449840f4c9473265e96b464c9c99c0ceb87253b
parentaee026ac48406044306cf89eb74f072606b17a0d (diff)
downloadmv-a7b5a52cdecaed2b991ec061296b3989f9860199.tar.gz
mv-a7b5a52cdecaed2b991ec061296b3989f9860199.tar.bz2
mv-a7b5a52cdecaed2b991ec061296b3989f9860199.tar.xz
mv-a7b5a52cdecaed2b991ec061296b3989f9860199.zip
fix storage if select other character with opened storage.
-rw-r--r--src/client.cpp2
-rw-r--r--src/net/ea/inventoryhandler.cpp9
-rw-r--r--src/net/ea/inventoryhandler.h2
-rw-r--r--src/net/inventoryhandler.h2
4 files changed, 15 insertions, 0 deletions
diff --git a/src/client.cpp b/src/client.cpp
index 272b5b1da..83395f409 100644
--- a/src/client.cpp
+++ b/src/client.cpp
@@ -2654,6 +2654,8 @@ void Client::closeDialogs()
BuySellDialog::closeAll();
NpcDialog::closeAll();
SellDialog::closeAll();
+ if (Net::getInventoryHandler())
+ Net::getInventoryHandler()->closeStorage();
}
bool Client::isTmw() const
diff --git a/src/net/ea/inventoryhandler.cpp b/src/net/ea/inventoryhandler.cpp
index be761fa19..8130eb259 100644
--- a/src/net/ea/inventoryhandler.cpp
+++ b/src/net/ea/inventoryhandler.cpp
@@ -587,4 +587,13 @@ void InventoryHandler::processPlayerArrowEquip(Net::MessageIn &msg)
miniStatusWindow->updateArrows();
}
+void InventoryHandler::closeStorage()
+{
+ if (mStorageWindow)
+ {
+ mStorageWindow->close();
+ mStorageWindow = nullptr;
+ }
+}
+
} // namespace Ea
diff --git a/src/net/ea/inventoryhandler.h b/src/net/ea/inventoryhandler.h
index fa0164c00..818c63061 100644
--- a/src/net/ea/inventoryhandler.h
+++ b/src/net/ea/inventoryhandler.h
@@ -204,6 +204,8 @@ class InventoryHandler : public Net::InventoryHandler
void processPlayerArrowEquip(Net::MessageIn &msg);
+ void closeStorage() override final;
+
Inventory *getStorage() const
{ return mStorage; }
diff --git a/src/net/inventoryhandler.h b/src/net/inventoryhandler.h
index f4aa88ea0..f725a4ce5 100644
--- a/src/net/inventoryhandler.h
+++ b/src/net/inventoryhandler.h
@@ -69,6 +69,8 @@ class InventoryHandler
virtual Inventory *getStorage() const = 0;
+ virtual void closeStorage() = 0;
+
virtual int convertFromServerSlot(const int eAthenaSlot) const = 0;
};