Send EGET_ELEMENT_CLOSED event when context menues should be closed (thx @ Mloren for reporting).

git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@3550 dfc29bdd-3216-0410-991c-e03cc46cb475
master
cutealien 2011-01-10 20:28:23 +00:00
parent 4d7a3a3ac8
commit f8655a2d5d
2 changed files with 18 additions and 7 deletions

View File

@ -1,5 +1,7 @@
Changes in 1.8 (??.??.2011)
- Send EGET_ELEMENT_CLOSED event when context menues should be closed (thx @ Mloren for reporting).
- Added treeview to GUI editor, provided by Armen
- Added root type for GUI environment

View File

@ -288,15 +288,24 @@ bool CGUIContextMenu::OnEvent(const SEvent& event)
if (event.GUIEvent.Caller == this && !isMyChild(event.GUIEvent.Element) && AllowFocus)
{
// set event parent of submenus
setEventParent(EventParent ? EventParent : Parent);
IGUIElement * p = EventParent ? EventParent : Parent;
setEventParent(p);
if ( CloseHandling & ECMC_HIDE )
SEvent event;
event.EventType = EET_GUI_EVENT;
event.GUIEvent.Caller = this;
event.GUIEvent.Element = 0;
event.GUIEvent.EventType = EGET_ELEMENT_CLOSED;
if ( !p->OnEvent(event) )
{
setVisible(false);
}
if ( CloseHandling & ECMC_REMOVE )
{
remove();
if ( CloseHandling & ECMC_HIDE )
{
setVisible(false);
}
if ( CloseHandling & ECMC_REMOVE )
{
remove();
}
}
return false;