- Timestamp:
- May 7, 2010 3:10:09 PM (15 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/HostServices/SharedOpenGL/crserverlib/server_main.c
r29205 r29221 26 26 27 27 /** 28 * \mainpage CrServerLib 28 * \mainpage CrServerLib 29 29 * 30 30 * \section CrServerLibIntroduction Introduction … … 91 91 crFreeHashtable(cr_server.semaphores, crFree); 92 92 cr_server.semaphores = NULL; 93 93 94 94 /* Deallocate all barriers */ 95 95 crFreeHashtable(cr_server.barriers, DeleteBarrierCallback); … … 329 329 } 330 330 331 newClient = (CRClient *) crCalloc(sizeof(CRClient)); 331 newClient = (CRClient *) crCalloc(sizeof(CRClient)); 332 332 crDebug("crServer: AddClient u32ClientID=%d", u32ClientID); 333 333 … … 356 356 for (i = 0; i < cr_server.numClients; i++) 357 357 { 358 if (cr_server.clients[i] && cr_server.clients[i]->conn 359 && cr_server.clients[i]->conn->u32ClientID==u32ClientID) 358 if (cr_server.clients[i] && cr_server.clients[i]->conn 359 && cr_server.clients[i]->conn->u32ClientID==u32ClientID) 360 360 { 361 361 break; … … 381 381 for (i = 0; i < cr_server.numClients; i++) 382 382 { 383 if (cr_server.clients[i] && cr_server.clients[i]->conn 384 && cr_server.clients[i]->conn->u32ClientID==u32ClientID) 383 if (cr_server.clients[i] && cr_server.clients[i]->conn 384 && cr_server.clients[i]->conn->u32ClientID==u32ClientID) 385 385 { 386 386 break; … … 404 404 pClient->conn->allow_redir_ptr = 0; 405 405 } 406 else 406 else 407 407 { 408 408 pClient->conn->allow_redir_ptr = 1; 409 409 } 410 410 411 411 pClient->conn->pBuffer = pBuffer; 412 412 pClient->conn->cbBuffer = cbBuffer; … … 460 460 for (i = 0; i < cr_server.numClients; i++) 461 461 { 462 if (cr_server.clients[i] && cr_server.clients[i]->conn 463 && cr_server.clients[i]->conn->u32ClientID==u32ClientID) 462 if (cr_server.clients[i] && cr_server.clients[i]->conn 463 && cr_server.clients[i]->conn->u32ClientID==u32ClientID) 464 464 { 465 465 break; … … 491 491 pClient->conn->cbHostBuffer = 0; 492 492 } 493 493 494 494 return VINF_SUCCESS; 495 495 } … … 502 502 for (i = 0; i < cr_server.numClients; i++) 503 503 { 504 if (cr_server.clients[i] && cr_server.clients[i]->conn 505 && cr_server.clients[i]->conn->u32ClientID==u32ClientID) 504 if (cr_server.clients[i] && cr_server.clients[i]->conn 505 && cr_server.clients[i]->conn->u32ClientID==u32ClientID) 506 506 { 507 507 break; … … 603 603 rc = SSMR3PutMem(pSSM, &key, sizeof(key)); 604 604 CRASSERT(rc == VINF_SUCCESS); 605 605 606 606 #ifdef CR_STATE_NO_TEXTURE_IMAGE_STORE 607 607 if (cr_server.curClient) … … 677 677 678 678 /* Save contexts state tracker data */ 679 /* @todo For now just some blind data dumps, 679 /* @todo For now just some blind data dumps, 680 680 * but I've a feeling those should be saved/restored in a very strict sequence to 681 * allow diff_api to work correctly. 681 * allow diff_api to work correctly. 682 682 * Should be tested more with multiply guest opengl apps working when saving VM snapshot. 683 683 */ … … 700 700 /* Save cr_server.muralTable 701 701 * @todo we don't need it all, just geometry info actually 702 * @todo store visible regions as well 702 * @todo store visible regions as well 703 703 */ 704 704 ui32 = crHashtableNumElements(cr_server.muralTable); … … 716 716 for (i = 0; i < cr_server.numClients; i++) 717 717 { 718 if (cr_server.clients[i] && cr_server.clients[i]->conn) 718 if (cr_server.clients[i] && cr_server.clients[i]->conn) 719 719 { 720 720 CRClient *pClient = cr_server.clients[i]; … … 817 817 rc = crStateLoadContext(pContext, pSSM); 818 818 AssertRCReturn(rc, rc); 819 } 819 } 820 820 821 821 /* Load windows */ … … 892 892 for (i = 0; i < cr_server.numClients; i++) 893 893 { 894 if (cr_server.clients[i] && cr_server.clients[i]->conn) 894 if (cr_server.clients[i] && cr_server.clients[i]->conn) 895 895 { 896 896 CRClient *pClient = cr_server.clients[i]; … … 983 983 cr_server.head_spu->dispatch_table.Enable(GL_CULL_FACE); 984 984 cr_server.head_spu->dispatch_table.Enable(GL_TEXTURE_2D);*/ 985 985 986 986 //crStateViewport( 0, 0, 600, 600 ); 987 987 //pClient->currentMural->viewportValidated = GL_FALSE; … … 1103 1103 return VERR_INVALID_PARAMETER; 1104 1104 1105 if (winID==0)1106 return VERR_INVALID_PARAMETER;1107 1108 1105 if (MAPPED(SCREEN(sIndex)) && SCREEN(sIndex).winID!=winID) 1109 1106 { … … 1134 1131 if (cr_server.curClient->currentCtx 1135 1132 && cr_server.curClient->currentCtx->pImage 1136 && cr_server.curClient->currentMural 1133 && cr_server.curClient->currentMural 1137 1134 && cr_server.curClient->currentMural->screenId == sIndex 1138 1135 && cr_server.curClient->currentCtx->viewport.viewportH == h … … 1153 1150 } 1154 1151 #endif 1155 1152 1156 1153 return VINF_SUCCESS; 1157 1154 }
Note:
See TracChangeset
for help on using the changeset viewer.