Release 940804
Thu Aug 4 07:18:02 1994 Michael Patra <micky@marie.physik.tu-berlin.de>
* [windows/message.c]
Implemented WaitMessage() (USER.112).
* [if1632/user.spec]
Added WaitMessage.
* [windows/defwnd.c]
WM_ERASEBKGND: Added support for hbrBackground=COLOR_xxx.
* [miscemu/int{13,21,2a}.c]
* [miscemu/Imakefile]
* [signal/loader.c]
Added a few basic disk information and diagnostic functions to
prevent programs using this function from crashing. All drives
are claimed to be remote ones, so direct I/O isn't allowed.
* [controls/edit.c]
EDIT_WriteText(): Added code to correctly erase the remaining space
of the edit-control if the size of the control has changed sinced it's
creation.
Tue Jul 26 22:05:54 MET DST 1994 Erik Bos <erik@hacktic.nl>
* [if1632/mouse.spec]
Added mouse.dll entry, no functions.
* [loader/resource.c]
Bug fix in AccessResource().
* [misc/keyboard.c], added [include/keyboard.h]
Changed functions to return more useful values.
* [windows/dialog.c]
Hacked DIALOG_GetControl() to support resources which
have 0xff00 - 0xffff as id. ** Needs to be done properly by
someone who knows the NE fileformat **
Jul 29, 94 martin2@trgcorp.solucorp.qc.ca (Martin Ayotte)
* [windows/event.c]
Add new stub for EnableHGardwareInput() function.
* [windows/message.c]
Add coding for HWND_BROADCAST in PostMessage().
* [misc/file.c]
Add coding for OpenFile() also search in WindowPaths.
* [misc/mmsystem.c]
* [misc/audio.c]
* [misc/mmaux.c]
* [misc/mcicda.c]
Change #include "linux/soundcard.h" by #include "sys/soundcard.h"
Add coding in MMIO functions. Now, mmioDescend() can find WAV chunks.
SndPlaySound & MCI_ELEMENT now use MMIO and adjust to proper formats.
diff --git a/misc/driver.c b/misc/driver.c
index 28888b5..436daf7 100644
--- a/misc/driver.c
+++ b/misc/driver.c
@@ -15,6 +15,26 @@
LPDRIVERITEM lpDrvItemList = NULL;
+void LoadStartupDrivers()
+{
+ HDRVR hDrv;
+ char str[256];
+ LPSTR ptr = str;
+ LPSTR file = "SYSTEM.INI";
+ if (GetPrivateProfileString("drivers", NULL,
+ "", str, sizeof(str), file) < 2) {
+ printf("LoadStartupDrivers // can't find drivers section in '%s'\n", file);
+ return;
+ }
+ while(strlen(ptr) != 0) {
+ printf("LoadStartupDrivers // str='%s'\n", ptr);
+ hDrv = OpenDriver(ptr, "drivers", 0L);
+ printf("LoadStartupDrivers // hDrv=%04X\n", hDrv);
+ ptr += strlen(ptr) + 1;
+ }
+ printf("LoadStartupDrivers // end of list !\n");
+}
+
/**************************************************************************
* SendDriverMessage [USER.251]
*/
@@ -48,12 +68,13 @@
lpnewdrv = (LPDRIVERITEM) GlobalLock(hDrvr);
if (lpnewdrv == NULL) return 0;
lpnewdrv->dis.length = sizeof(DRIVERINFOSTRUCT);
- lpnewdrv->dis.hModule = LoadImage("DrvName", DLL, 0);
+ lpnewdrv->dis.hModule = 0;
+/* lpnewdrv->dis.hModule = LoadImage(DrvName, DLL, 0);
if (lpnewdrv->dis.hModule == 0) {
GlobalUnlock(hDrvr);
GlobalFree(hDrvr);
return 0;
- }
+ } */
lpnewdrv->dis.hDriver = hDrvr;
strcpy(lpnewdrv->dis.szAliasName, lpDriverName);
lpnewdrv->count = 0;
@@ -165,18 +186,30 @@
LPDRIVERITEM lpdrv;
HDRVR hRetDrv = 0;
printf("GetNextDriver(%04X, %08X);\n", hDrvr, dwFlags);
+ if (hDrvr == 0) {
+ if (lpDrvItemList == NULL) {
+ printf("GetNextDriver // drivers list empty !\n");
+ LoadStartupDrivers();
+ if (lpDrvItemList == NULL) return 0;
+ }
+ printf("GetNextDriver // return first %04X !\n",
+ lpDrvItemList->dis.hDriver);
+ return lpDrvItemList->dis.hDriver;
+ }
lpdrv = (LPDRIVERITEM) GlobalLock(hDrvr);
if (lpdrv != NULL) {
- if (dwFlags & GND_REVERSE)
+ if (dwFlags & GND_REVERSE) {
if (lpdrv->lpPrevItem)
hRetDrv = ((LPDRIVERITEM)lpdrv->lpPrevItem)->dis.hDriver;
- if (dwFlags & GND_FORWARD)
+ }
+ else {
if (lpdrv->lpNextItem)
hRetDrv = ((LPDRIVERITEM)lpdrv->lpNextItem)->dis.hDriver;
+ }
GlobalUnlock(hDrvr);
}
+ printf("GetNextDriver // return %04X !\n", hRetDrv);
return hRetDrv;
-
}