add: clusterWindow->setManageClientViewports(false);
context: int main( int argc, char **argv ){    ChangeList::setReadWriteDefault();    osgInit(argc,argv);        // clear changelist from prototypes    OSG::Thread::getCurrentChangeList()->clearAll();        QApplication::setColorSpec( QApplication::ManyColor );    QApplication a( argc, argv );    if ( !QGLFormat::hasOpenGL() )    {        qWarning( "This system has no OpenGL support. Exiting." );        return -1;    }        // parse command line        std::string connectionType = "StreamSock";    std::string serviceAddress;    std::vector<char *> filenames;        for(int i=1;i<argc;++i)    {        if(strlen(argv[i])>1 && argv[i][0]=='-')        {            switch(argv[i][1])            {                case 'b':                    serviceAddress.assign(argv[i]+2);                    break;                case 'f':                    filenames.push_back(argv[i]+2);                    break;                case 'm':                    connectionType="Multicast";                    break;                case 'h':                    std::cout << "testClusterClientQT [servername]+ [-f<filename>]* [-m]? [-b]? [-h]?"                               << std::endl;                    std::cout << "-m  use multicast" << std::endl;                    std::cout << "-b  service address" << std::endl;                    std::cout << "-h  help" << std::endl << std::endl;                    std::cout << "e.g. testClusterClientQT pipe0 -ftie.wrl" << std::endl << std::endl;                    return 0;            }        }    }        ClusterClientGLWidget w(QGLFormat(QGL::DoubleBuffer | QGL::DepthBuffer | QGL::Rgba |                             QGL::DirectRendering));    // create the scene    NodePtr scene = Node::create();    GroupPtr g = Group::create();    beginEditCP(scene);        scene->setCore(g);    endEditCP(scene);        if(!filenames.empty())    {        beginEditCP(scene);            for(int i = 0; i < filenames.size(); ++i)            {                NodePtr file = SceneFileHandler::the().read(filenames[i]);                if(file != NullFC);                    scene->addChild(file);            }        endEditCP(scene);    }        if(scene->getNChildren() == 0)    {        scene = makeTorus(.5, 3, 16, 16);    }    w.getManager()->setRoot(scene);    w.getManager()->showAll();        a.setMainWidget( &w );    ViewportPtr clientvp = w.getWindow()->getPort()[0];        // create the viewports for the cluster just a simple one ...    ViewportPtr vp1 = Viewport::create();    beginEditCP(vp1);        vp1->setCamera    (w.getManager()->getCamera());        vp1->setBackground(clientvp->getBackground());        vp1->setRoot      (clientvp->getRoot());        vp1->setSize      (0,0, 1,1);    endEditCP(vp1);        // create multi display cluster window    int rows = 1;    MultiDisplayWindowPtr clusterWindow = MultiDisplayWindow::create();        beginEditCP(clusterWindow);        // set servers        for(int i=1;i<argc;i++)        {            if(argv[i][0]!='-' &&                (argv[i][0]<'0' || argv[i][0]>'9'))            {                clusterWindow->getServers().push_back(argv[i]);            }        }        clusterWindow->setHServers(clusterWindow->getServers().size()/rows);        clusterWindow->setVServers(rows);        clusterWindow->setInterleave(0);        clusterWindow->setConnectionType(connectionType);        clusterWindow->setSize(w.width(), w.height());        clusterWindow->addPort(vp1);        if(!serviceAddress.empty())            clusterWindow->setServiceAddress(serviceAddress);        clusterWindow->setClientWindow(w.getWindow());    endEditCP(clusterWindow);    clusterWindow->init();    w.setClusterWindow(clusterWindow);    w.show();    w.updateGL();        bool r = 0;    try    {        r = a.exec();    }        catch(OSG_STDEXCEPTION_NAMESPACE::exception &e)    {        SLOG << e.what() << std::endl;    }        w.setClusterWindow(NullFC);    subRefCP(clusterWindow);        return r;}