/* $Id: changelog,v 1.1293 2001-02-28 20:22:21 sandervl Exp $ */ 2001-02-28: Sander van Leeuwen - KERNEL32: o Added support for high memory override key in odin.ini: [ODINSYSTEM] HIGHMEM=0 Turns off high memory usage in Odin. Useful for Warp 4 (>fp12) systems that still use the old 16 bits TCPIP stack. (temporary workaround) NOTE: Turning this option off will prevent Odin from running applications that must be loaded in high memory (like MS Word). - NTDLL: o Committed update from Jan. 25th: Ported latest NtQuerySystemInformation from Wine (includes fix for IE5 install) - include\odinwrap.h: o Wrappers only detect FS problems when they should correct them. (fixes FS corruption in wsock32 (WSAStartup/WSACleanup)) 2001-02-27: Sander van Leeuwen - WINMM: o Added recording (still untested) o waveOutReset bugfix o Compile fix (midi.cpp) - USER32: o Ported latest wsprintf Wine functions (not much changed; only to stay in sync) 2001-02-26: Sander van Leeuwen - WINMM: o Fixed FS corruption in RTMidi class (wrappers for RTMIDI functions) 2001-02-25: Sander van Leeuwen - KERNEL32: o Check executable too when searching for imported modules (directly imported by PE dlls) 2001-02-24: Sander van Leeuwen - KERNEL32: o Set fExitProcess flag in WinExe destructor to prevent reloading dlls after loading of exe failed. 2001-02-23: Sander van Leeuwen - GDI32: o Removed old workaround for SetDIBitsToDevice. Incorrect for new implementation of this function with StretchDIBits. (fixes bitmaps in Minesweeper) - USER32: o WM_SETCURSOR change; don't check WS_EX_NOPARENTNOTIFY style when sending this message to the parent of a child window. o Redraw entire window when switching between minimized, maximized and restored windows state. o Added missing cursor to MDI client class (cursor now changes when moving cursor from mdi child to client window) - USER32, include\win\drive.h: o DRIVE_GetDosCwd bugfix (fixes crash in Cool Edit old-style file open dialog) 2000-02-22: knut st. osmundsen - Win32k: o Support for the 14062e kernels. o Removed the CALLTAB segment. o Hooked dh_SendEvent and RASRST for taskmanager hot-key support. o Enabled callgate on SMP kernel. 2001-02-22: Sander van Leeuwen - KERNEL32: o Changed error string when detecting version mismatch. - USER32: o Fixed incorrect index checking for class and window words. o Allow misaligned access to window words/longs (fixes crash in Quicken 99) o More minimize changes/fixes for MDI windows. o Update region fix in NotifyFrameChanged method 2001-02-21: Sander van Leeuwen - USER32: o Changes for minimizing windows. Not done yet. o Added CreateFakeWindowEx. Turns native OS/2 window into window recognized by Odin (with only very limited functionality) Useful for creating an Odin window with an OS/2 window as parent. 2000-02-21: Michal Necasek - USER32: o Translate WM_BUTTONxMOTIONSTART/END to WM_MOUSEMOVE Applications don't expect WM_NULL when fetching mouse messages from the queue. (fixes mouse jumping in Unreal) 2000-02-20: knut st. osmundsen - Win32k: o Moved calltabs to the code segments. Clears the WriteProtect(WP) flag in CR0 to be able to do this. The flags is of course restored when the calltabs are written. o Completed callgate code. Though is not activated for SMP kernels yet as I haven't tested that yet. The callgate works just as any other callgate in OS2, it calls kernel routines for entry and exit housekeeping. o Updated the win32k library and header to accomodate this. All IOCtl structures are changed. So, Install the new the new Odin32 and reboot before using it so the new win32k.sys is installed. 2001-02-20: Sander van Leeuwen - USER32: o Fix for position of system menu in (mdi) child windows o Use WinScrollWindow to scroll children again and manually notify children that they have moved. (PM only does this for windows with CS_MOVENOTIFY class) (much smoother scroll in Opera) o Use WinGetMaxPosition to determine default maximized position of toplevel window before sending WM_GETMINMAXINFO (maximized Odin windows no longer obscure WarpCenter) o Activation fixes for MDI windows 2000-02-19: Oliver Braun - KERNEL32: o OSLibDosAllocMem fix (better checks for errors + return 4kb aligned memory if 64kb alignment fails) (fixes StarOffice 5.2 install) 2000-02-19: knut st. osmundsen - KERNEL32: o Use DosAllocMemEx to 64KB align memory (OSLibDosAllocMem) when available. - Win32k: o Prepared API code for both callgate and IOCtl invokation. This caused changes in IOCtl parameter structures. Callgate code is completed but not used yet because it isn't tested yet. 2001-02-19: Sander van Leeuwen - COMDLG32: o Commented out Norse ChooseFont dialog (incomplete translation) Use the English version instead. - USER32: o Corrected invalidating nonclient parts of a window after a resize. (fixes resizing of mdi windows in mdi sample) 2000-02-18: knut st. osmundsen - Win32k: o Finished implementation of DosAllocMemEx. DosAllocMemEx is equal to DosAllocMem but takes some extra OBJ_ flags (defined in win32k.h). TODO: "Grow arena" problem when allocating memory at a specific location. I'll fix this ASAP and add a fix for the loader too (which has the same problems with loading EXEs without fixup above 64MB). 2001-02-18: Sander van Leeuwen - USER32: o Restore window origin in SetWindowPos for parent window with CS_OWNDC style. Do the same thing in WM_VRNENABLED message handler. (fixes paint offset problems in Opera windows) o Bug in yesterday's ScrollWindowEx fix (fixes smooth scrolling of child windows in Opera html window) o Detect DestroyWindow call during CreateWindowEx and delay deleting the window/dialog object. (fixes crash in Opera when going to fullscreen mode) 2000-02-17: knut st. osmundsen - Win32kCC: o Rewrote to notebook. (fixes size problem) o Added memoryinfo page which is refreshed every second. 2000-02-17: Yuri Dario - INCLUDE: o Header changes for compiling Opera 2001-02-17: Sander van Leeuwen - USER32: o Store active status in custom window word. QWS_FLAGS appears to be modified by PM somewhere. (fixes WM_ACTIVATE loop in Opera when maximizing or restoring the mdi window) o Don't include RDW_NOERASE flag in InvalidateRect/Rgn (fixes background erase for mdi client window in Opera) o IsChild only checked the direct parent of a window. Must check all parents (parents of parents etc) (fixes TAB handling in Opera dialogs) o Ported latest GetNextDlgTabItem from Wine (fixes TAB handling in Opera dialogs) o WM_ADJUSTWINDOWPOS bugfix (if app changes size/position) OSLibMapWINDOWPOStoSWP can add flags, but we must not let it remove flags. (fixes resizing of Opera MDI windows) o ScrollWindow(Ex) bugfixes Must scroll child windows manually (fixes scrolling of Opera html MDI windows) o Combobox fix from Wine (CBCalcPlacement) (fixes combobox controls in Opera html MDI windows) (TODO: sync rest with latest Wine control code) 2001-02-15: Sander van Leeuwen - COMDLG32: o Ignore OFN_FILEMUSTEXIST flag in GetSaveFileNameA/W (NT4 seems to ignore it too and it fixes the save dialog in ElstarFormular 2000) 2001-02-14: knut stange osmundsen - Win32k.lib: o Corrected build breaker: log.h should not be included. log.h was removed from the CINLCUDES two days ago. 2001-02-14: Sander van Leeuwen - KERNEL32: o Allocate TLS index of module before loading the dll it needs (some apps assume their executable index is always zero) (fixes crash in BrMSX) o Must use EXC_CallHandler to call RtlUnwind handler (fixes crash during RaiseException in BrMSX) - OPENGL\GLU: o Removed initterm.cpp. Use dllentry.obj instead - INCLUDE\misc.h: o Print file and function name before executing an int 3. (DebugInt3) - *\initterm.cpp: o Wrong calling convention for CRT_Init/Term, ctordtorInit/Term o VAC 3.6.5 ctordtorInit/Term takes one parameter - USER32: o Delay SetFocus when called during processing of WM_SETFOCUS message (not allowed by PM). (fixes keyboard focus in ElstarFormular 2000) 2000-02-13: Michal Necasek - USER32: o Wrong unicode<->ascii translation for some listbox & combobox messages. Must check if the control style includes LB/CB_HASSTRINGS. (CB_FINDSTRING, CB_FINDSTRINGEXACT, CB_SELECTSTRING, LB_FINDSTRING, LB_FINDSTRINGEXACT, LB_SELECTSTRING) 2001-02-12: knut st. osmundsen - Win32k.lib: o Removed /src/win32k/include from the CFLAGS. 2001-02-11: knut st. osmundsen - Win32k: o Added symbols for the 14062D kernels. o Added a query API for getting memory information. o Added force preload option - should be very useful when debugging Ring 3 apps with ICAT. (Option -F) 2001-02-11: Sander van Leeuwen - ODINCRT: o Completed runtime dll for VAC 3.6.5 - WINMM, GLU, CRTDLL, KERNEL32: o Compile fixes for VAC 3.6.5 - RASAPI32: o Can't use LXLITE as it crashes on this binary - KERNEL32: o Check handle in LocalLock and return NULL if invalid (some apps use LocalLock to get access to GDI objects; doesn't work in Odin (TODO)) 2001-02-10: Sander van Leeuwen - USER32: o Check if window has been destroyed before accessing this pointer again in SendInternalMessage. (fixes heap corruption in MS Visual C++ 4.2 install) TODO: Needs a permanent and correct solution as this can happen in several other places. Also a potential problem in user32 controls (InfoPtr). o Set last error to ERROR_INVALID_INDEX for invalid class word index. 2001-02-09: Sander van Leeuwen - COMCTL32: o Register controls in LibMain, not in DLL_InitTerm - KERNEL32: o Re-register dll if DosFreeModule failed with ERROR_INVALID_ACCESS Dll refuses to unload if it has an active exitlist handler or depends on a dll that registered an exitlist handler. In this case the handle remains valid and the entrypoint of the dll is NOT called for DLL_PROCESS_DETACH. The next time DosLoadModule is called, the entrypoint (and RegisterLXDll) isn't called (DLL_PROCESS_ATTACH). WORKAROUND: Re-register the dll so future functions that use this dll calls don't fail. (fixes crash in shell32 in TextPad 4) o shared & code heap umalloc changed (now more meaningful debug messages in case of heap corruption) - USER32: o WM_MINIMIZE/WS_MAXIMIZE support added to CreateWindow (fixes size of main InstallShield window for Microsoft Visual C++ 4.2) o Fixed FS corruption in DIALOG_DlgDirList (c library function calls) 2001-02-08: Sander van Leeuwen - KERNEL32: o Standard in/out/error handle fix. Disable change during console init. (fixes output of console applications; input doesn't work well yet) - USER32: o Dialog control fix. Creating them with CreateWindowExW does not work since our standard user32 controls are still ASCII. (fixes missing icon control in Acrobat Distiller window) 2001-02-08: Michal Necasek - KERNEL32: o RtlUnwind bugfix 2001-02-04: Sander van Leeuwen - USER32: o Wrong error set in GetDlgItem. Must be ERROR_CONTROL_ID_NOT_FOUND. (verified in NT4, SP6) 2001-02-03: Sander van Leeuwen - USER32: o Get/SetWindowLongA/W, Get/SetWindowWord: must set last error to ERROR_INVALID_WINDOW_HANDLE if window not found. (verified in NT4, SP6) Must also return ERROR_INVALID_INDEX if index is out of range. (used to return ERROR_INVALID_PARAMETER) (verified in NT4, SP6) o Temporary hack to force focus to newly created window (if no Odin window has focus after sending WM_ACTIVATE, set focus to window that received the activate message) (fixes wrong keyboard focus in RealPlayer 8) 2001-02-02: Sander van Leeuwen - USER32: o DrawEdge bugfixes (signed/unsigned char mismatches) (fixes lines in properties dialog of RealPlayer 8) o Fixed incorrect rounding in dialog control size calculation (fixes wrong height of some dialog controls (rp8 pref. dialog lines)) o Don't unregister class if there are still windows that use it. 2001-02-02: knut st. osmundsen - Win32k: o Added option for the All-In-One-Object fix to be able to debug PE executables thru the ICAT. Works with pe2lx and win32k.sys. -1<+|-|[*]> +: Applied when needed. (checked) -: Never applied (use this to debug). (not checked) *: Allways applied. (default) (gray) It's also added to Win32kCC as a three state checkbutton. WARNING! This option should only be used for debugging and will cause your system to crash if used with based images! - tools\Common: o Minor changes in the fileformat classes to use kFile. 2001-02-01: Sander van Leeuwen - GDI32: o LineDDA fix (wrong calling convention) (fixes crash in Solitaire) - USER32: o clientHeight bugfix. Check hwnd instead of pHps->hwnd. (pHps can be NULL) (fixes crash in Solitaire) - INSTALL: o Include ChangeLog-2001 in daily build - COMDLG32: o Merged some changes from Wine (extra notification in FileOpenDlgProc95 & OFN_NOCHANGEDIR support (also added to Unicode version of file open dialog)) o Removed workaround for Acrobat Reader file open dialog (Wine update fixed it)