diff --git a/apps/openmw/mwgui/container.cpp b/apps/openmw/mwgui/container.cpp index b4f38b4e1..fd69e1a65 100644 --- a/apps/openmw/mwgui/container.cpp +++ b/apps/openmw/mwgui/container.cpp @@ -203,6 +203,7 @@ void ContainerWindow::onSelectedItem(MyGUI::Widget* _sender) count++; if(count == item->mPos) { + mDragAndDrop->mStore.add(*iter); iter->getRefData().setCount(0); break; } @@ -232,16 +233,16 @@ void ContainerWindow::onContainerClicked(MyGUI::Widget* _sender) if(mDragAndDrop->mIsOnDragAndDrop) //drop widget here { ItemWidget* item = static_cast(mDragAndDrop->mDraggedWidget); - std::cout << item->mPos << item->mPtr.getTypeName(); + std::cout << item->mPos << (*mDragAndDrop->mStore.begin()).getTypeName(); if(item->mPtr.getContainerStore() == 0) std::cout << "nocontainer!"; - std::cout << item->mPtr.getContainerStore()->getType(item->mPtr); - MWWorld::Ptr ptr = item->mPtr; - //MWWorld::World - //mContainer.getContainerStore()->add(item->mPtr); + MWWorld::ContainerStore& containerStore = MWWorld::Class::get(mContainer).getContainerStore(mContainer); + containerStore.add(*mDragAndDrop->mStore.begin()); + mDragAndDrop->mStore.clear(); mDragAndDrop->mIsOnDragAndDrop = false; mDragAndDrop->mDraggedWidget->detachFromWidget(); mDragAndDrop->mDraggedWidget->attachToWidget(mContainerWidget); mDragAndDrop->mDraggedWidget = 0; mDragAndDrop->mContainerWindow = 0; + drawItems(); } } \ No newline at end of file diff --git a/apps/openmw/mwgui/container.hpp b/apps/openmw/mwgui/container.hpp index 08ac7eba2..0d047bacf 100644 --- a/apps/openmw/mwgui/container.hpp +++ b/apps/openmw/mwgui/container.hpp @@ -39,7 +39,7 @@ namespace MWGui ContainerWindow* mContainerWindow; MyGUI::Widget* mDraggedWidget; MyGUI::Widget* mDragAndDropWidget; - + MWWorld::ContainerStore mStore; MWWorld::Ptr mItem; };