summaryrefslogtreecommitdiffstats
path: root/make
diff options
context:
space:
mode:
Diffstat (limited to 'make')
-rw-r--r--make/config/nativewindow/win32-CustomJavaCode.java18
-rw-r--r--make/config/nativewindow/win32-lib.cfg2
-rw-r--r--make/stub_includes/win32/wingdi.h2
3 files changed, 10 insertions, 12 deletions
diff --git a/make/config/nativewindow/win32-CustomJavaCode.java b/make/config/nativewindow/win32-CustomJavaCode.java
index 54a7fa53a..0c1a3a402 100644
--- a/make/config/nativewindow/win32-CustomJavaCode.java
+++ b/make/config/nativewindow/win32-CustomJavaCode.java
@@ -1,28 +1,26 @@
- private static final long hInstance;
-
static {
NWJNILibLoader.loadNativeWindow("win32");
- hInstance = initIDs0();
- if( 0 == hInstance ) {
+
+ if( !initIDs0() ) {
throw new NativeWindowException("GDI: Could not initialized native stub");
}
}
public static synchronized void initSingleton() {
}
- private static native long initIDs0();
+ private static native boolean initIDs0();
- public static long getModuleHandle() {
- return hInstance;
- }
+ private static Object createDummyWindowSync = new Object();
public static long CreateDummyWindow(int x, int y, int width, int height) {
- return CreateDummyWindow0(getModuleHandle(), x, y, width, height);
+ synchronized(createDummyWindowSync) {
+ return CreateDummyWindow0(x, y, width, height);
+ }
}
public static Point GetRelativeLocation(long src_win, long dest_win, int src_x, int src_y) {
- return (Point) GetRelativeLocation0(src_win, dest_win, src_x, src_y);
+ return (Point) GetRelativeLocation0(src_win, dest_win, src_x, src_y);
}
private static native Object GetRelativeLocation0(long src_win, long dest_win, int src_x, int src_y);
diff --git a/make/config/nativewindow/win32-lib.cfg b/make/config/nativewindow/win32-lib.cfg
index 46c4f2f92..e140ed3aa 100644
--- a/make/config/nativewindow/win32-lib.cfg
+++ b/make/config/nativewindow/win32-lib.cfg
@@ -33,7 +33,7 @@ CustomCCode #include <stddef.h>
Include ../intptr.cfg
-CustomCCode extern HWND CreateDummyWindow0( HINSTANCE hInstance, int x, int y, int width, int height ) ;
+CustomCCode extern HWND CreateDummyWindow0( int x, int y, int width, int height ) ;
IncludeAs CustomJavaCode GDI win32-CustomJavaCode.java
diff --git a/make/stub_includes/win32/wingdi.h b/make/stub_includes/win32/wingdi.h
index fd4bc16a2..23506a463 100644
--- a/make/stub_includes/win32/wingdi.h
+++ b/make/stub_includes/win32/wingdi.h
@@ -169,7 +169,7 @@ WINGDIAPI HGDIOBJ WINAPI SelectObject(HDC, HGDIOBJ);
// Routines for creation of a dummy window, device context and OpenGL
// context for the purposes of getting wglChoosePixelFormatARB and
// associated routines
- HWND CreateDummyWindow0( HINSTANCE hInstance, int x, int y, int width, int height ) ;
+ HWND CreateDummyWindow0( int x, int y, int width, int height ) ;
WINUSERAPI BOOL WINAPI ShowWindow(HWND hWnd, int nCmdShow);
WINUSERAPI HDC WINAPI GetDC(HWND);
WINUSERAPI int WINAPI ReleaseDC(HWND hWnd, HDC hDC);