|
From: <ha...@us...> - 2002-10-22 08:15:16
|
Update of /cvsroot/decaldev/source/Inject
In directory usw-pr-cvs1:/tmp/cvs-serv15356
Modified Files:
Manager.cpp LayerSite.cpp
Log Message:
Cynica_l's edit changes
Index: Manager.cpp
===================================================================
RCS file: /cvsroot/decaldev/source/Inject/Manager.cpp,v
retrieving revision 1.60
retrieving revision 1.61
diff -C2 -d -r1.60 -r1.61
*** Manager.cpp 22 Sep 2002 08:15:08 -0000 1.60
--- Manager.cpp 22 Oct 2002 08:15:10 -0000 1.61
***************
*** 838,843 ****
{
// End with success
! m_pKeyboard->sendKeyboardEndCapture( VARIANT_FALSE );
m_pKeyboard = NULL;
clearDestroyList();
--- 838,850 ----
{
// End with success
! // cyn, 15/10/2002
! // Clear m_pKeyboard before triggering KeyboardEndCapture,
! // This allows KeyboardEndCapture to re-capture the keyboard
! // Edit will only allow recapture if VARIANT_FALSE is passed
! // I believe Edit is the only control in DecalControls.* that captures the keyboard
! cLayerSite *Keyboard = m_pKeyboard;
m_pKeyboard = NULL;
+ Keyboard->sendKeyboardEndCapture( VARIANT_FALSE );
+ Keyboard = NULL; // I don't know if it does some smart pointer reference counting or whatever.. can't hurt
clearDestroyList();
Index: LayerSite.cpp
===================================================================
RCS file: /cvsroot/decaldev/source/Inject/LayerSite.cpp,v
retrieving revision 1.5
retrieving revision 1.6
diff -C2 -d -r1.5 -r1.6
*** LayerSite.cpp 13 Apr 2002 18:23:00 -0000 1.5
--- LayerSite.cpp 22 Oct 2002 08:15:12 -0000 1.6
***************
*** 847,851 ****
{
// Cancel capture in the existing keyboard capture- if any
! if( cManager::_p->m_pKeyboard != NULL )
cManager::_p->m_pKeyboard->sendKeyboardEndCapture( VARIANT_TRUE );
--- 847,852 ----
{
// Cancel capture in the existing keyboard capture- if any
! // Don't fire EndCapture if we already have the capture. cyn -- 15/10/2002
! if( ( cManager::_p->m_pKeyboard != NULL ) && ( cManager::_p->m_pKeyboard != this ) )
cManager::_p->m_pKeyboard->sendKeyboardEndCapture( VARIANT_TRUE );
|