Author: gedmurphy Date: Wed Dec 9 21:55:19 2015 New Revision: 70319
URL: http://svn.reactos.org/svn/reactos?rev=70319&view=rev Log: [CHARMAP] - Don't go past the scroll range - Reset the grid/cell info when a new font is selected - Should fix some of the issues Vort listed in CORE-10518
Modified: trunk/reactos/base/applications/charmap/map.c trunk/reactos/base/applications/charmap/precomp.h
Modified: trunk/reactos/base/applications/charmap/map.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/charmap/m... ============================================================================== --- trunk/reactos/base/applications/charmap/map.c [iso-8859-1] (original) +++ trunk/reactos/base/applications/charmap/map.c [iso-8859-1] Wed Dec 9 21:55:19 2015 @@ -221,7 +221,7 @@ HDC hdc; WCHAR ch[MAX_GLYPHS]; WORD out[MAX_GLYPHS]; - DWORD i, j, Rows; + DWORD i, j;
/* Destroy Zoom window, since it was created with older font */ DestroyWindow(infoPtr->hLrgWnd); @@ -247,12 +247,7 @@ NULL, TRUE);
- /* Test if zoom window must be reopened */ - if (infoPtr->pActiveCell != NULL && - infoPtr->pActiveCell->bLarge) - { - CreateLargeCell(infoPtr); - } + infoPtr->pActiveCell = &infoPtr->Cells[0][0];
// Get all the valid glyphs in this font
@@ -281,11 +276,14 @@
ReleaseDC(infoPtr->hMapWnd, hdc);
- Rows = infoPtr->NumValidGlyphs / XCELLS; + infoPtr->NumRows = infoPtr->NumValidGlyphs / XCELLS; if (infoPtr->NumValidGlyphs % XCELLS) - Rows += 1; - - SetScrollRange(infoPtr->hMapWnd, SB_VERT, 0, Rows - YCELLS, FALSE); + infoPtr->NumRows += 1; + infoPtr->NumRows = (infoPtr->NumRows > YCELLS) ? infoPtr->NumRows - YCELLS : 0; + + SetScrollRange(infoPtr->hMapWnd, SB_VERT, 0, infoPtr->NumRows, FALSE); + SetScrollPos(infoPtr->hMapWnd, SB_VERT, 0, TRUE); + infoPtr->iYStart = 0; }
@@ -463,7 +461,8 @@ break; }
- infoPtr->iYStart = max(0, min(infoPtr->iYStart, MAX_ROWS)); + infoPtr->iYStart = max(0, infoPtr->iYStart); + infoPtr->iYStart = min(infoPtr->iYStart, infoPtr->NumRows);
iYDiff = iOldYStart - infoPtr->iYStart; if (iYDiff)
Modified: trunk/reactos/base/applications/charmap/precomp.h URL: http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/charmap/p... ============================================================================== --- trunk/reactos/base/applications/charmap/precomp.h [iso-8859-1] (original) +++ trunk/reactos/base/applications/charmap/precomp.h [iso-8859-1] Wed Dec 9 21:55:19 2015 @@ -47,6 +47,7 @@ HFONT hFont; LOGFONTW CurrentFont; INT iYStart; + INT NumRows;
USHORT ValidGlyphs[MAX_GLYPHS]; USHORT NumValidGlyphs;