Changeset 21576 in vbox for trunk/src/VBox/HostServices/SharedOpenGL
- Timestamp:
- Jul 14, 2009 12:29:26 PM (15 years ago)
- Location:
- trunk/src/VBox/HostServices/SharedOpenGL/crserverlib
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/HostServices/SharedOpenGL/crserverlib/server_context.c
r21127 r21576 144 144 break; 145 145 } 146 147 /*Some application call destroy context not in a thread where it was created...have do deal with it.*/ 148 if (CR_MAX_CONTEXTS==pos) 149 { 150 int32_t client; 151 152 for (client=0; client<cr_server.numClients; ++client) 153 { 154 if (cr_server.clients[client]==cr_server.curClient) 155 continue; 156 157 for (pos = 0; pos < CR_MAX_CONTEXTS; ++pos) 158 if (cr_server.clients[client]->contextList[pos] == ctx) 159 { 160 cr_server.clients[client]->contextList[pos] = 0; 161 break; 162 } 163 164 if (pos<CR_MAX_CONTEXTS) 165 { 166 if (cr_server.clients[client]->currentCtx == crCtx) 167 { 168 cr_server.clients[client]->currentContextNumber = -1; 169 cr_server.clients[client]->currentCtx = cr_server.DummyContext; 170 } 171 break; 172 } 173 } 174 } 175 146 176 CRASSERT(pos<CR_MAX_CONTEXTS); 147 177 } -
trunk/src/VBox/HostServices/SharedOpenGL/crserverlib/server_window.c
r21380 r21576 144 144 if (cr_server.curClient) 145 145 { 146 if (cr_server.curClient->currentMural == mural) 147 { 148 cr_server.curClient->currentMural = NULL; 149 cr_server.curClient->currentWindow = -1; 150 } 151 146 152 for (pos = 0; pos < CR_MAX_WINDOWS; ++pos) 147 153 if (cr_server.curClient->windowList[pos] == window) … … 150 156 break; 151 157 } 158 159 /*Same as with contexts, some apps destroy it not in a thread where it was created*/ 160 if (CR_MAX_WINDOWS==pos) 161 { 162 int32_t client; 163 164 for (client=0; client<cr_server.numClients; ++client) 165 { 166 if (cr_server.clients[client]==cr_server.curClient) 167 continue; 168 169 for (pos = 0; pos < CR_MAX_WINDOWS; ++pos) 170 if (cr_server.clients[client]->windowList[pos] == window) 171 { 172 cr_server.clients[client]->windowList[pos] = 0; 173 break; 174 } 175 176 if (pos<CR_MAX_WINDOWS) 177 { 178 if (cr_server.clients[client]->currentMural == mural) 179 { 180 cr_server.clients[client]->currentMural = NULL; 181 cr_server.clients[client]->currentWindow = -1; 182 } 183 break; 184 } 185 } 186 } 187 152 188 CRASSERT(pos<CR_MAX_WINDOWS); 153 154 if (cr_server.curClient->currentMural == mural)155 {156 cr_server.curClient->currentMural = NULL;157 cr_server.curClient->currentWindow = -1;158 }159 189 } 160 190
Note:
See TracChangeset
for help on using the changeset viewer.