Release 960421
Sat Apr 20 23:23:16 1996 Robert Pouliot <krynos@qbc.clic.net>
* [resources/sysres_Fr.rc] [resources/TODO]
Made changes for Choose_Color dialog.
Sat Apr 20 15:43:49 1996 Alexandre Julliard <julliard@lrc.epfl.ch>
* [controls/button.c]
Fixed test that got miscompiled by some old gcc versions.
* [memory/local.c]
Fixed the layout of handle tables so that moveable handle entries
can be freed on LocalFree().
Implemented LocalFlags(), LocalCountFree(), LocalHandleDelta() and
GetHeapSpaces().
* [misc/main.c] [ANNOUNCE]
Update the list of contributors. Please let me know if I forgot
someone.
Fri Apr 19 20:07:20 1996 Frans van Dorsselaer <dorssel@rulhm1.leidenuniv.nl>
* [controls/edit.c] [controls/EDIT.TODO]
Fixed EM_SETHANDLE / WM_CREATE / EDIT_MakeFir() buffer allocation.
Fixed ES_NOHIDESEL / WM_MOUSEMOVE / WM_LBUTTONDOWN implementation.
Added WM_ENABLE implementation (gray text).
Fixed buffer > 32767 bug.
Fixed argument types / typecasting.
Faster selection (re)drawing.
Thu Apr 18 13:38:26 1996 Marcus Meissner <msmeissn@cip.informatik.uni-erlangen.de>
* [misc/registry.c] [include/winreg.h]
Changed savefile format again to human readable/editable
(UNICODE chars >0xff are specified by \uXXXX, data by XX).
Has now global / local registry databases (including merging them).
HKEY_CLASSES_ROOT == HKEY_LOCAL_MACHINE\\SOFTWARE\\Classes.
HKEY_CURRENT_USER == HKEY_USERS\\<loginname>.
* [misc/comm.c]
Allow " " as COMx: ... spec delimiter too.
(AOL-CD setup.exe tries to initialize modem2 as "9600,x,x x" (can't
remember the x).
Thu Apr 18 09:00:00 1996 Alex Korobka <alex@phm30.pharm.sunysb.edu>
* [windows/mdi.c]
Miscellaneous changes.
* [windows/winpos.c]
Use BitBlt whenever possible in SetWindowPos.
* [windows/painting.c]
Fix incompatibilities with hrgnUpdate being 1.
Wed Apr 17 19:19:22 1996 Albrecht Kleine <kleine@ak.sax.de>
* [misc/commdlg.c]
Many bugfixes in ChooseColor dialog.
Added a user defined dialog title in FileOpen-/FileSave- dialog.
* [misc/commdlg.c][include/commdlg.h]
[if1632/commdlg.spec][if1632/winprocs.spec]
Introduced dialog-, callback- and enum- stub functions
for ChooseFont dialog
Wed Apr 17 19:08:38 1996 Niels de Carpentier <niels@cindy.et.tudelft.nl>
* [objects/metafile.c] [include/metafile.h] [if1632/gdi.spec]
Implemented EnumMetaFile and CopyMetaFile. Removed METAFILE struct.
Implemented META_STRETCHDIB in PlayMetaFileRecord, several bug
fixes.
* [windows/winpos.c]
Don't try to hide the window if it's already hidden.
* [windows/message.c]
Let MSG_PeekHardwareMsg fill the message queue with events if
it's empty.
Wed Apr 17 17:54:04 1996 Tristan Tarrant <tst@sthinc.demon.co.uk>
* [resources/sysres_It.rc]
Updated to support the new CHOOSE_COLOR_DIALOG.
Tue Apr 16 11:50:00 1996 Anand Kumria <akumria@ozemail.com.au>
* [if1632/Makefile] [if1632/relay.c] [if1631/w32sys.spec]
[include/w32sys.h] [include/dlls.h]
[misc/Makefile] [misc/w32sys.c]
W32SYS.DLL partially implemented.
diff --git a/controls/scroll.c b/controls/scroll.c
index 9824b3b..27323a6 100644
--- a/controls/scroll.c
+++ b/controls/scroll.c
@@ -94,14 +94,12 @@
hRgArrowI = LoadBitmap((HINSTANCE)NULL, MAKEINTRESOURCE(OBM_RGARROWI));
}
-
/***********************************************************************
- * SCROLL_GetScrollInfo
+ * SCROLL_GetPtrScrollInfo
*/
-static SCROLLINFO *SCROLL_GetScrollInfo( HWND hwnd, int nBar )
+static SCROLLINFO *SCROLL_GetPtrScrollInfo( WND* wndPtr, int nBar )
{
HANDLE handle;
- WND *wndPtr = WIN_FindWndPtr( hwnd );
if (!wndPtr) return NULL;
switch(nBar)
@@ -128,6 +126,15 @@
return (SCROLLINFO *) USER_HEAP_LIN_ADDR( handle );
}
+/***********************************************************************
+ * SCROLL_GetScrollInfo
+ */
+static SCROLLINFO *SCROLL_GetScrollInfo( HWND hwnd, int nBar )
+{
+ WND *wndPtr = WIN_FindWndPtr( hwnd );
+ return SCROLL_GetPtrScrollInfo( wndPtr, nBar );
+}
+
/***********************************************************************
* SCROLL_GetScrollBarRect
@@ -188,7 +195,7 @@
if ((pixels -= 3*SYSMETRICS_CXVSCROLL+1) > 0)
{
- SCROLLINFO *info = SCROLL_GetScrollInfo( hwnd, nBar );
+ SCROLLINFO *info = SCROLL_GetPtrScrollInfo( wndPtr, nBar );
if ((info->flags & ESB_DISABLE_BOTH) == ESB_DISABLE_BOTH)
*thumbPos = 0;
else if (info->MinVal == info->MaxVal)
@@ -449,7 +456,7 @@
RECT rect;
BOOL vertical;
WND *wndPtr = WIN_FindWndPtr( hwnd );
- SCROLLINFO *infoPtr = SCROLL_GetScrollInfo( hwnd, nBar );
+ SCROLLINFO *infoPtr = SCROLL_GetPtrScrollInfo( wndPtr, nBar );
if (!wndPtr || !infoPtr ||
((nBar == SB_VERT) && !(wndPtr->dwStyle & WS_VSCROLL)) ||
@@ -480,7 +487,7 @@
BOOL vertical;
HDC hdc;
WND *wndPtr = WIN_FindWndPtr( hwnd );
- SCROLLINFO *infoPtr = SCROLL_GetScrollInfo( hwnd, nBar );
+ SCROLLINFO *infoPtr = SCROLL_GetPtrScrollInfo( wndPtr, nBar );
if (!wndPtr || !infoPtr ||
((nBar == SB_VERT) && !(wndPtr->dwStyle & WS_VSCROLL)) ||
@@ -913,6 +920,38 @@
if (bRedraw) SCROLL_RefreshScrollBar( hwnd, nBar );
}
+/*************************************************************************
+ * SCROLL_SetNCSbState
+ *
+ * This is for CalcChildScroll in windows/mdi.c
+ */
+DWORD SCROLL_SetNCSbState(WND* wndPtr, int vMin, int vMax, int vPos,
+ int hMin, int hMax, int hPos)
+{
+ SCROLLINFO *infoPtr = SCROLL_GetPtrScrollInfo(wndPtr, SB_VERT);
+
+ wndPtr->dwStyle |= (WS_VSCROLL | WS_HSCROLL);
+
+ if( vMin >= vMax )
+ { vMin = vMax;
+ wndPtr->dwStyle &= ~WS_VSCROLL; }
+ if( vPos > vMax ) vPos = vMax; else if( vPos < vMin ) vPos = vMin;
+ infoPtr->MinVal = vMin;
+ infoPtr->MaxVal = vMax;
+ infoPtr->CurVal = vPos;
+
+ infoPtr = SCROLL_GetPtrScrollInfo(wndPtr, SB_HORZ);
+
+ if( hMin >= hMax )
+ { hMin = hMax;
+ wndPtr->dwStyle &= ~WS_HSCROLL; }
+ if( hPos > hMax ) hPos = hMax; else if( hPos < hMin ) hPos = hMin;
+ infoPtr->MinVal = hMin;
+ infoPtr->MaxVal = hMax;
+ infoPtr->CurVal = hPos;
+
+ return wndPtr->dwStyle & (WS_VSCROLL | WS_HSCROLL);
+}
/*************************************************************************
* GetScrollRange (USER.65)