timer = new Timer();
this->refresh_rate = VICON_RATE;
done = 0;
- interrupted = 1;
+ interrupted = -1;
}
VIconThread::
wdw->lock_window("VIconThread::start_drawing");
if( view_win )
wdw->set_active_subwindow(view_win);
- if( interrupted )
+ if( interrupted < 0 )
draw_lock->unlock();
+ interrupted = 0;
wdw->unlock_window();
}
{
wdw->lock_window("VIconThread::stop_drawing");
set_view_popup(0);
- interrupted = 1;
+ if( !interrupted )
+ interrupted = 1;
wdw->unlock_window();
}
{
while(!done) {
draw_lock->lock("VIconThread::run 0");
- if( done ) break;;
+ if( done ) break;
wdw->lock_window("BC_WindowBase::run 1");
- interrupted = 0;
drawing_started();
reset_images();
int64_t seq_no = 0, now = 0;