1.1 --- a/core/MenuStyle_Base.cpp Tue Jun 05 05:45:48 2007 +0000
1.2 +++ b/core/MenuStyle_Base.cpp Tue Jun 05 16:27:45 2007 +0000
1.3 @@ -434,12 +434,14 @@
1.4 CBaseMenu::CBaseMenu(IMenuHandler *pHandler, IMenuStyle *pStyle, IdentityToken_t *pOwner) :
1.5 m_pStyle(pStyle), m_Strings(512), m_Pagination(7), m_ExitButton(true),
1.6 m_bShouldDelete(false), m_bCancelling(false), m_pOwner(pOwner ? pOwner : g_pCoreIdent),
1.7 -m_bDeleting(false), m_bWillFreeHandle(false), m_hHandle(BAD_HANDLE), m_pHandler(pHandler)
1.8 +m_bDeleting(false), m_bWillFreeHandle(false), m_hHandle(BAD_HANDLE), m_pHandler(pHandler),
1.9 +m_pVoteHandler(NULL)
1.10 {
1.11 }
1.12
1.13 CBaseMenu::~CBaseMenu()
1.14 {
1.15 + g_Menus.ReleaseVoteWrapper(m_pVoteHandler);
1.16 }
1.17
1.18 Handle_t CBaseMenu::GetHandle()
1.19 @@ -647,3 +649,24 @@
1.20 delete this;
1.21 }
1.22
1.23 +bool CBaseMenu::BroadcastVote(int clients[],
1.24 + unsigned int numClients,
1.25 + unsigned int maxTime,
1.26 + unsigned int flags)
1.27 +{
1.28 + if (!m_pVoteHandler)
1.29 + {
1.30 + m_pVoteHandler = g_Menus.CreateVoteWrapper(m_pHandler);
1.31 + } else if (m_pVoteHandler->IsVoteInProgress()) {
1.32 + return false;
1.33 + }
1.34 +
1.35 + m_pVoteHandler->InitializeVoting(this);
1.36 +
1.37 + for (unsigned int i=0; i<numClients; i++)
1.38 + {
1.39 + VoteDisplay(clients[i], maxTime);
1.40 + }
1.41 +
1.42 + m_pVoteHandler->StartVoting();
1.43 +}