7042429: jdk 7 b140: crashes in awt.dll+0xb85fb] Java_sun_awt_Win32GraphicsEnvironment_isVistaOS+0xfdf

Reviewed-by: bae, dcherepanov
This commit is contained in:
Andrei Dmitriev 2011-05-11 15:00:25 +04:00
parent cd2f47b0fd
commit c0a3fc99bd
2 changed files with 9 additions and 1 deletions

View File

@ -191,6 +191,14 @@ void D3DPipelineManager::NotifyAdapterEventListeners(UINT adapter,
pMgr = D3DPipelineManager::GetInstance();
RETURN_IF_NULL(pMgr);
hMon = pMgr->pd3d9->GetAdapterMonitor(adapter);
/*
* If we don't have devices initialized yet, no sense to clear them.
*/
if (!Devices::GetInstance()){
return;
}
gdiScreen = AwtWin32GraphicsDevice::GetScreenFromHMONITOR(hMon);
JNU_CallStaticMethodByName(env, NULL,

View File

@ -36,6 +36,7 @@ class AwtWin32GraphicsDevice;
class Devices {
public:
static Devices* GetInstance();
static BOOL UpdateInstance(JNIEnv *env);
int GetNumDevices() { return numDevices; }
AwtWin32GraphicsDevice* GetDeviceReference(int index, BOOL adjust = TRUE);
@ -59,7 +60,6 @@ friend class InstanceAccess;
private:
Devices(int numElements);
void AddReference();
static Devices* GetInstance();
AwtWin32GraphicsDevice** devices;
int refCount;