Commit 5f806cfa authored by Maciej Suminski's avatar Maciej Suminski

Minor fixes to the Tool Framework.

parent f7ecc749
...@@ -470,8 +470,6 @@ void TOOL_MANAGER::finishTool( TOOL_STATE* aState ) ...@@ -470,8 +470,6 @@ void TOOL_MANAGER::finishTool( TOOL_STATE* aState )
bool TOOL_MANAGER::ProcessEvent( TOOL_EVENT& aEvent ) bool TOOL_MANAGER::ProcessEvent( TOOL_EVENT& aEvent )
{ {
// wxLogDebug( "event: %s", aEvent.Format().c_str() );
// Early dispatch of events destined for the TOOL_MANAGER // Early dispatch of events destined for the TOOL_MANAGER
if( !dispatchStandardEvents( aEvent ) ) if( !dispatchStandardEvents( aEvent ) )
return false; return false;
......
...@@ -56,11 +56,10 @@ template <class ReturnType, class ArgType> ...@@ -56,11 +56,10 @@ template <class ReturnType, class ArgType>
class COROUTINE class COROUTINE
{ {
public: public:
COROUTINE() COROUTINE() :
m_saved( NULL ), m_self( NULL ), m_stack( NULL ), m_stackSize( c_defaultStackSize ),
m_running( false )
{ {
m_stackSize = c_defaultStackSize;
m_stack = NULL;
m_saved = NULL;
} }
/** /**
...@@ -69,7 +68,8 @@ public: ...@@ -69,7 +68,8 @@ public:
*/ */
template <class T> template <class T>
COROUTINE( T* object, ReturnType(T::* ptr)( ArgType ) ) : COROUTINE( T* object, ReturnType(T::* ptr)( ArgType ) ) :
m_func( object, ptr ), m_saved( NULL ), m_stack( NULL ), m_stackSize( c_defaultStackSize ) m_func( object, ptr ), m_self( NULL ), m_saved( NULL ), m_stack( NULL ),
m_stackSize( c_defaultStackSize ), m_running( false )
{ {
} }
...@@ -78,8 +78,10 @@ public: ...@@ -78,8 +78,10 @@ public:
* Creates a coroutine from a delegate object * Creates a coroutine from a delegate object
*/ */
COROUTINE( DELEGATE<ReturnType, ArgType> aEntry ) : COROUTINE( DELEGATE<ReturnType, ArgType> aEntry ) :
m_func( aEntry ), m_saved( NULL ), m_stack( NULL ), m_stackSize( c_defaultStackSize ) m_func( aEntry ), m_saved( NULL ), m_self( NULL ), m_stack( NULL ),
{}; m_stackSize( c_defaultStackSize ), m_running( false )
{
}
~COROUTINE() ~COROUTINE()
{ {
...@@ -138,6 +140,12 @@ public: ...@@ -138,6 +140,12 @@ public:
// align to 16 bytes // align to 16 bytes
void* sp = (void*) ( ( ( (ptrdiff_t) m_stack ) + m_stackSize - 0xf ) & ( ~0x0f ) ); void* sp = (void*) ( ( ( (ptrdiff_t) m_stack ) + m_stackSize - 0xf ) & ( ~0x0f ) );
// correct the stack size
m_stackSize -= ( (size_t) m_stack + m_stackSize - (size_t) sp );
assert( m_self == NULL );
assert( m_saved == NULL );
m_args = &aArgs; m_args = &aArgs;
m_self = boost::context::make_fcontext( sp, m_stackSize, callerStub ); m_self = boost::context::make_fcontext( sp, m_stackSize, callerStub );
m_saved = new boost::context::fcontext_t(); m_saved = new boost::context::fcontext_t();
......
...@@ -318,9 +318,6 @@ public: ...@@ -318,9 +318,6 @@ public:
if( m_commandId && aEvent.m_commandId ) if( m_commandId && aEvent.m_commandId )
return *m_commandId == *aEvent.m_commandId; return *m_commandId == *aEvent.m_commandId;
// Command-type event has to contain either id or string
assert( false );
} }
return true; return true;
...@@ -496,7 +493,6 @@ inline const TOOL_EVENT_LIST operator||( const TOOL_EVENT& aEventA, const TOOL_E ...@@ -496,7 +493,6 @@ inline const TOOL_EVENT_LIST operator||( const TOOL_EVENT& aEventA, const TOOL_E
return l; return l;
} }
inline const TOOL_EVENT_LIST operator||( const TOOL_EVENT& aEvent, inline const TOOL_EVENT_LIST operator||( const TOOL_EVENT& aEvent,
const TOOL_EVENT_LIST& aEventList ) const TOOL_EVENT_LIST& aEventList )
{ {
......
...@@ -384,9 +384,6 @@ private: ...@@ -384,9 +384,6 @@ private:
/// Flag saying if the currently processed event should be passed to other tools. /// Flag saying if the currently processed event should be passed to other tools.
bool m_passEvent; bool m_passEvent;
/// Pointer to the tool on the top of the active tools stack.
TOOL_STATE* m_currentTool;
}; };
#endif #endif
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment