Changed GetProcAddress16 and 16-bit resource functions to take normal
pointers instead of SEGPTRs.
Removed WIN16_GetTempDrive.
diff --git a/windows/cursoricon.c b/windows/cursoricon.c
index d6e5e42..f3d4d7f 100644
--- a/windows/cursoricon.c
+++ b/windows/cursoricon.c
@@ -1040,20 +1040,18 @@
/***********************************************************************
* LoadCursor16 (USER.173)
*/
-HCURSOR16 WINAPI LoadCursor16( HINSTANCE16 hInstance, SEGPTR name )
+HCURSOR16 WINAPI LoadCursor16( HINSTANCE16 hInstance, LPCSTR name )
{
- LPCSTR nameStr = HIWORD(name)? PTR_SEG_TO_LIN(name) : (LPCSTR)name;
- return LoadCursorA( hInstance, nameStr );
+ return LoadCursorA( hInstance, name );
}
/***********************************************************************
* LoadIcon16 (USER.174)
*/
-HICON16 WINAPI LoadIcon16( HINSTANCE16 hInstance, SEGPTR name )
+HICON16 WINAPI LoadIcon16( HINSTANCE16 hInstance, LPCSTR name )
{
- LPCSTR nameStr = HIWORD(name)? PTR_SEG_TO_LIN(name) : (LPCSTR)name;
- return LoadIconA( hInstance, nameStr );
+ return LoadIconA( hInstance, name );
}
@@ -2304,8 +2302,7 @@
/**********************************************************************
* LoadBitmap16 (USER.175)
*/
-HBITMAP16 WINAPI LoadBitmap16( HINSTANCE16 instance, SEGPTR name )
+HBITMAP16 WINAPI LoadBitmap16( HINSTANCE16 instance, LPCSTR name )
{
- LPCSTR nameStr = HIWORD(name)? PTR_SEG_TO_LIN(name) : (LPCSTR)name;
- return LoadBitmapA( instance, nameStr );
+ return LoadBitmapA( instance, name );
}
diff --git a/windows/dialog.c b/windows/dialog.c
index 841c449..fa9caaa 100644
--- a/windows/dialog.c
+++ b/windows/dialog.c
@@ -710,12 +710,7 @@
if (template.menuName)
{
- if (!win32Template)
- {
- LPSTR str = SEGPTR_STRDUP( template.menuName );
- hMenu = LoadMenu16( hInst, SEGPTR_GET(str) );
- SEGPTR_FREE( str );
- }
+ if (!win32Template) hMenu = LoadMenu16( hInst, template.menuName );
else hMenu = LoadMenuW( hInst, (LPCWSTR)template.menuName );
}
@@ -891,7 +886,7 @@
/***********************************************************************
* CreateDialog16 (USER.89)
*/
-HWND16 WINAPI CreateDialog16( HINSTANCE16 hInst, SEGPTR dlgTemplate,
+HWND16 WINAPI CreateDialog16( HINSTANCE16 hInst, LPCSTR dlgTemplate,
HWND16 owner, DLGPROC16 dlgProc )
{
return CreateDialogParam16( hInst, dlgTemplate, owner, dlgProc, 0 );
@@ -901,7 +896,7 @@
/***********************************************************************
* CreateDialogParam16 (USER.241)
*/
-HWND16 WINAPI CreateDialogParam16( HINSTANCE16 hInst, SEGPTR dlgTemplate,
+HWND16 WINAPI CreateDialogParam16( HINSTANCE16 hInst, LPCSTR dlgTemplate,
HWND16 owner, DLGPROC16 dlgProc,
LPARAM param )
{
@@ -910,10 +905,10 @@
HGLOBAL16 hmem;
LPCVOID data;
- TRACE("%04x,%08lx,%04x,%08lx,%ld\n",
- hInst, (DWORD)dlgTemplate, owner, (DWORD)dlgProc, param );
+ TRACE("%04x,%s,%04x,%08lx,%ld\n",
+ hInst, debugres_a(dlgTemplate), owner, (DWORD)dlgProc, param );
- if (!(hRsrc = FindResource16( hInst, dlgTemplate, RT_DIALOG16 ))) return 0;
+ if (!(hRsrc = FindResource16( hInst, dlgTemplate, RT_DIALOGA ))) return 0;
if (!(hmem = LoadResource16( hInst, hRsrc ))) return 0;
if (!(data = LockResource16( hmem ))) hwnd = 0;
else hwnd = CreateDialogIndirectParam16( hInst, data, owner,
@@ -1051,7 +1046,7 @@
/***********************************************************************
* DialogBox16 (USER.87)
*/
-INT16 WINAPI DialogBox16( HINSTANCE16 hInst, SEGPTR dlgTemplate,
+INT16 WINAPI DialogBox16( HINSTANCE16 hInst, LPCSTR dlgTemplate,
HWND16 owner, DLGPROC16 dlgProc )
{
return DialogBoxParam16( hInst, dlgTemplate, owner, dlgProc, 0 );
@@ -1061,7 +1056,7 @@
/***********************************************************************
* DialogBoxParam16 (USER.239)
*/
-INT16 WINAPI DialogBoxParam16( HINSTANCE16 hInst, SEGPTR template,
+INT16 WINAPI DialogBoxParam16( HINSTANCE16 hInst, LPCSTR template,
HWND16 owner, DLGPROC16 dlgProc, LPARAM param )
{
HWND16 hwnd = 0;
@@ -1070,7 +1065,7 @@
LPCVOID data;
int ret = -1;
- if (!(hRsrc = FindResource16( hInst, template, RT_DIALOG16 ))) return 0;
+ if (!(hRsrc = FindResource16( hInst, template, RT_DIALOGA ))) return 0;
if (!(hmem = LoadResource16( hInst, hRsrc ))) return 0;
if (!(data = LockResource16( hmem ))) hwnd = 0;
else hwnd = DIALOG_CreateIndirect( hInst, data, FALSE, owner,
@@ -1480,7 +1475,7 @@
/***********************************************************************
* IsDialogMessage16 (USER.90)
*/
-BOOL16 WINAPI WIN16_IsDialogMessage16( HWND16 hwndDlg, SEGPTR msg16 )
+BOOL16 WINAPI IsDialogMessage16( HWND16 hwndDlg, SEGPTR msg16 )
{
LPMSG16 msg = PTR_SEG_TO_LIN(msg16);
BOOL ret, translate, dispatch;
@@ -1503,17 +1498,6 @@
}
-BOOL16 WINAPI IsDialogMessage16( HWND16 hwndDlg, LPMSG16 msg )
-{
- LPMSG16 msg16 = SEGPTR_NEW(MSG16);
- BOOL ret;
-
- *msg16 = *msg;
- ret = WIN16_IsDialogMessage16( hwndDlg, SEGPTR_GET(msg16) );
- SEGPTR_FREE(msg16);
- return ret;
-}
-
/***********************************************************************
* IsDialogMessageA (USER32.342)
*/
diff --git a/windows/driver.c b/windows/driver.c
index c0e2576..ba3792b 100644
--- a/windows/driver.c
+++ b/windows/driver.c
@@ -739,7 +739,7 @@
lpSFN = (lpSFN) ? (lpSFN + 1) : lpFileName;
if ((hModule = LoadModule16(lpFileName, (LPVOID)-1)) >= 32) {
- if ((lpProc = (DRIVERPROC16)WIN32_GetProcAddress16(hModule, "DRIVERPROC")) != NULL) {
+ if ((lpProc = (DRIVERPROC16)GetProcAddress16(hModule, "DRIVERPROC")) != NULL) {
lpDrv = DRIVER_RegisterDriver16(lpSFN, hModule, lpProc, lParam, bCallFrom32);
} else {
FreeLibrary16(hModule);
diff --git a/windows/win.c b/windows/win.c
index 33fff0a..57c458e 100644
--- a/windows/win.c
+++ b/windows/win.c
@@ -904,23 +904,17 @@
if (cs->hMenu) SetMenu(hwnd, cs->hMenu);
else
{
-#if 0 /* FIXME: should check if classPtr->menuNameW can be used as is */
- if (classPtr->menuNameA)
- cs->hMenu = HIWORD(classPtr->menuNameA) ?
- LoadMenu(cs->hInstance,SEGPTR_GET(classPtr->menuNameA)):
- LoadMenu(cs->hInstance,(SEGPTR)classPtr->menuNameA);
-#else
- SEGPTR menuName = (SEGPTR)GetClassLong16( hwnd, GCL_MENUNAME );
+ /* FIXME: should check if classPtr->menuNameW can be used as is */
+ LPCSTR menuName = (LPCSTR)GetClassLongA( hwnd, GCL_MENUNAME );
if (menuName)
{
if (HIWORD(cs->hInstance))
- cs->hMenu = LoadMenuA(cs->hInstance,PTR_SEG_TO_LIN(menuName));
+ cs->hMenu = LoadMenuA(cs->hInstance,menuName);
else
cs->hMenu = LoadMenu16(cs->hInstance,menuName);
if (cs->hMenu) SetMenu( hwnd, cs->hMenu );
}
-#endif
}
}
else wndPtr->wIDmenu = (UINT)cs->hMenu;
@@ -3286,7 +3280,7 @@
return 0L;
}
- hBummer = LoadCursor16(0, IDC_BUMMER16);
+ hBummer = LoadCursorA(0, IDC_BUMMERA);
if( !hBummer || !wndPtr )
{