rem: return ( NULL );
context: void *drawThreadProc (void *arg) {                   int               *my_id = (int *) arg;    MyOSGQGLWidget *my_widget = glWidget[*my_id];    QTWindowPtr    my_win = my_widget->_osgWin;    osgsleep( 2 + *my_id );    dpr << "drawThead " << *my_id << " started." << std::endl;    my_win->init();     // create the context    my_win->activate(); // and activate it    // some manual init, will be moved into StateChunks later    glEnable( GL_LIGHTING );    glEnable( GL_LIGHT0 );    glEnable( GL_DEPTH_TEST );    int predraw = 5; // draw some preliminary frames        DrawAction *ract = DrawAction::create();    while ( ! my_widget->_stop )    {        my_win->frameInit();        my_win->resizeGL();        my_win->drawAllViewports( ract );        my_win->swap();        my_win->frameExit();              if ( predraw-- < 0 )            drawBarrier->enter( NUM_THREADS + 1 );    }    // Destroy context    return ( NULL );}