diff options
author | Perttu Ahola <celeron55@gmail.com> | 2010-12-24 17:08:50 +0200 |
---|---|---|
committer | Perttu Ahola <celeron55@gmail.com> | 2010-12-24 17:08:50 +0200 |
commit | a26c92d7dda327f2b1483fe7250cb27580a0a039 (patch) | |
tree | 1f7a7b9cb9ceb200fa5e1480961cd9bbe9ae38a3 /src/guiInventoryMenu.cpp | |
parent | 705de63dcdfe78157234e1b65652d5c2f762dbd4 (diff) | |
download | minetest-a26c92d7dda327f2b1483fe7250cb27580a0a039.tar.gz minetest-a26c92d7dda327f2b1483fe7250cb27580a0a039.tar.bz2 minetest-a26c92d7dda327f2b1483fe7250cb27580a0a039.zip |
disconnect method to connection to be used instead of just timing out
Diffstat (limited to 'src/guiInventoryMenu.cpp')
-rw-r--r-- | src/guiInventoryMenu.cpp | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/src/guiInventoryMenu.cpp b/src/guiInventoryMenu.cpp index bba23e719..a1f7d02d0 100644 --- a/src/guiInventoryMenu.cpp +++ b/src/guiInventoryMenu.cpp @@ -228,8 +228,10 @@ bool GUIInventoryMenu::OnEvent(const SEvent& event) } if(event.EventType==EET_MOUSE_INPUT_EVENT) { - if(event.MouseInput.Event == EMIE_LMOUSE_PRESSED_DOWN) + if(event.MouseInput.Event == EMIE_LMOUSE_PRESSED_DOWN + || event.MouseInput.Event == EMIE_RMOUSE_PRESSED_DOWN) { + bool right = (event.MouseInput.Event == EMIE_RMOUSE_PRESSED_DOWN); v2s32 p(event.MouseInput.X, event.MouseInput.Y); //dstream<<"Mouse down at p=("<<p.X<<","<<p.Y<<")"<<std::endl; ItemSpec s = getItemAtPos(p); @@ -248,15 +250,21 @@ bool GUIInventoryMenu::OnEvent(const SEvent& event) dstream<<"Queueing IACTION_MOVE"<<std::endl; IMoveAction *a = new IMoveAction(); - a->count = 1; + a->count = right ? 1 : 0; a->from_name = m_selected_item->listname; a->from_i = m_selected_item->i; a->to_name = s.listname; a->to_i = s.i; m_actions->push_back(a); } - delete m_selected_item; - m_selected_item = NULL; + bool source_empties = false; + if(list_from && list_from->getItem(m_selected_item->i)->getCount()==1) + source_empties = true; + if(right == false || source_empties) + { + delete m_selected_item; + m_selected_item = NULL; + } } else { |