--- a/jdk/src/windows/native/sun/java2d/d3d/D3DPipelineManager.cpp Wed Nov 24 15:26:41 2010 -0800
+++ b/jdk/src/windows/native/sun/java2d/d3d/D3DPipelineManager.cpp Thu Nov 25 15:58:11 2010 +0300
@@ -969,12 +969,15 @@
}
D3DPipelineManager *pMgr = D3DPipelineManager::CreateInstance();
if (pMgr != NULL) {
- UINT adapterCount = pMgr->adapterCount;
+ // init adapters if we are preloading
+ if (AwtToolkit::GetInstance().GetPreloadThread().OnPreloadThread()) {
+ UINT adapterCount = pMgr->adapterCount;
- pAdapterIniters = new D3DAdapterInitializer[adapterCount];
- for (UINT i=0; i<adapterCount; i++) {
- pAdapterIniters[i].setAdapter(i);
- AwtToolkit::GetInstance().GetPreloadThread().AddAction(&pAdapterIniters[i]);
+ pAdapterIniters = new D3DAdapterInitializer[adapterCount];
+ for (UINT i=0; i<adapterCount; i++) {
+ pAdapterIniters[i].setAdapter(i);
+ AwtToolkit::GetInstance().GetPreloadThread().AddAction(&pAdapterIniters[i]);
+ }
}
}
}