[ros-diffs] [fireball] 40257: Apply patch from Wine: http://www.winehq.org/pipermail/wine-patches/2009-March/071155.html - Fix bitmap size calculation in IMAGELIST_InternalExpandBitmaps and remove unneeded parameter. Memory requirements are greatly reduced after this fix. See issue #4304 for more details.
fireball at svn.reactos.org
fireball at svn.reactos.org
Thu Mar 26 20:46:12 CET 2009
Author: fireball
Date: Thu Mar 26 22:46:11 2009
New Revision: 40257
URL: http://svn.reactos.org/svn/reactos?rev=40257&view=rev
Log:
Apply patch from Wine:
http://www.winehq.org/pipermail/wine-patches/2009-March/071155.html
- Fix bitmap size calculation in IMAGELIST_InternalExpandBitmaps and remove unneeded parameter. Memory requirements are greatly reduced after this fix.
See issue #4304 for more details.
Modified:
trunk/reactos/dll/win32/comctl32/imagelist.c
Modified: trunk/reactos/dll/win32/comctl32/imagelist.c
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/comctl32/imagelist.c?rev=40257&r1=40256&r2=40257&view=diff
==============================================================================
--- trunk/reactos/dll/win32/comctl32/imagelist.c [iso-8859-1] (original)
+++ trunk/reactos/dll/win32/comctl32/imagelist.c [iso-8859-1] Thu Mar 26 22:46:11 2009
@@ -155,7 +155,7 @@
* This function CANNOT be used to reduce the number of images.
*/
static void
-IMAGELIST_InternalExpandBitmaps (HIMAGELIST himl, INT nImageCount, INT cx, INT cy)
+IMAGELIST_InternalExpandBitmaps (HIMAGELIST himl, INT nImageCount, INT cy)
{
HDC hdcBitmap;
HBITMAP hbmNewBitmap, hbmNull;
@@ -166,15 +166,14 @@
&& (himl->cy >= cy))
return;
- if (cx == 0) cx = himl->cx;
nNewCount = himl->cCurImage + nImageCount + himl->cGrow;
- imagelist_get_bitmap_size(himl, nNewCount, cx, &sz);
+ imagelist_get_bitmap_size(himl, nNewCount, himl->cx, &sz);
TRACE("Create expanded bitmaps : himl=%p x=%d y=%d count=%d\n", himl, sz.cx, cy, nNewCount);
hdcBitmap = CreateCompatibleDC (0);
- hbmNewBitmap = ImageList_CreateImage(hdcBitmap, himl, nNewCount, cx);
+ hbmNewBitmap = ImageList_CreateImage(hdcBitmap, himl, nNewCount, himl->cx);
if (hbmNewBitmap == 0)
ERR("creating new image bitmap (x=%d y=%d)!\n", sz.cx, cy);
@@ -248,7 +247,7 @@
nImageCount = bmp.bmWidth / himl->cx;
- IMAGELIST_InternalExpandBitmaps (himl, nImageCount, bmp.bmWidth, bmp.bmHeight);
+ IMAGELIST_InternalExpandBitmaps (himl, nImageCount, bmp.bmHeight);
hdcBitmap = CreateCompatibleDC(0);
@@ -350,7 +349,7 @@
else
nImageCount = 0;
- IMAGELIST_InternalExpandBitmaps (himl, nImageCount, bmp.bmWidth, bmp.bmHeight);
+ IMAGELIST_InternalExpandBitmaps (himl, nImageCount, bmp.bmHeight);
nIndex = himl->cCurImage;
himl->cCurImage += nImageCount;
@@ -2304,7 +2303,7 @@
if (nIndex == -1) {
if (himl->cCurImage + 1 > himl->cMaxImage)
- IMAGELIST_InternalExpandBitmaps (himl, 1, 0, 0);
+ IMAGELIST_InternalExpandBitmaps (himl, 1, 0);
nIndex = himl->cCurImage;
himl->cCurImage++;
More information about the Ros-diffs
mailing list