Changeset 69


Ignore:
Timestamp:
Sep 28, 2023, 8:07:29 PM (23 months ago)
Author:
gyoung
Message:

Fix memory leak. Lars Erdmann provided this fix.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/classes/c/c_mm/mmfolder.c

    r61 r69  
    5959#include "sys_funcs.h"
    6060
    61 //#if 0
    62 #ifndef  _cwmmQuerySmallBitmapHandle
    63 #define _cwmmQuerySmallBitmapHandle MMImage_cwmmQuerySmallBitmapHandle
    64 #define _cwmmQuerySmallBitmapHandleCWBitmap MMBitmap_cwmmQuerySmallBitmapHandle
    65 #endif
    66 //#endif
    6761#define STOREWINDOWID 112233
    6862
     
    389383                    Wondering what hidden problems/bugs will show upt in the future...
    390384                    */
    391                   if((hbm=_cwmmQuerySmallBitmapHandle( (MMImage*) wpObject, ulIconSize, mrc, hwndCnr))!=NULLHANDLE)         
     385                  if((hbm=MMImage_cwmmQuerySmallBitmapHandle( (MMImage*) wpObject, ulIconSize, mrc, hwndCnr))!=NULLHANDLE)
    392386                    pBmpInfoHeader2=(PBITMAPINFOHEADER2)_wpQueryBitmapInfoHeader((MMImage*)wpObject);
    393387#ifdef DEBUG
     
    399393                  /* The default WPS bitmap class (WPBitmap) returns an PBITMAPHEADER. The CWBitmap class
    400394                     does return a PBITMAPHEADER2<-. */
    401                   if((hbm=_cwmmQuerySmallBitmapHandleCWBitmap( (MMBitmap*) wpObject, ulIconSize))!=NULLHANDLE)
     395                  if((hbm=MMBitmap_cwmmQuerySmallBitmapHandle( (MMBitmap*) wpObject, ulIconSize))!=NULLHANDLE)
    402396                    pBmpInfoHeader2=(PBITMAPINFOHEADER2)_cwmmQueryBitmapInfoHeader((MMBitmap*)wpObject);
    403397                }
     
    442436                    cwDraw2ColorBorder(pOwnerItem->hps, &rclTemp, CLR_BLACK, CLR_DARKGRAY);
    443437                    /* Done */
    444                     free(hbm);
     438                    if(_somIsA(wpObject, cwImageClass)) {
     439                      MMImage_cwmmFreeSmallBitmap((MMImage *)wpObject);
     440                    }
     441                    else {
     442                     MMBitmap_cwmmFreeSmallBitmap((MMBitmap*)wpObject);
     443                    }
    445444                    return (MRESULT) TRUE;
    446445                  }/* hbm */
     
    581580                  /* Get the small bitmap from the object */
    582581                  if(_somIsA(wpObject, cwImageClass)) {
    583                     hbm=_cwmmQuerySmallBitmapHandle( (MMImage*) wpObject, ulIconSize, mrc, hwndCnr);
     582                    hbm=MMImage_cwmmQuerySmallBitmapHandle( (MMImage*) wpObject, ulIconSize, mrc, hwndCnr);
    584583                    pBmpInfoHeader2=(PBITMAPINFOHEADER2)_wpQueryBitmapInfoHeader((MMImage*)wpObject);
    585584                  }
    586585                  else if(_somIsA(wpObject, cwBitmapClass)) {
    587                     hbm=_cwmmQuerySmallBitmapHandleCWBitmap( (MMImage*) wpObject, ulIconSize);
     586                    hbm=MMBitmap_cwmmQuerySmallBitmapHandle( (MMImage*) wpObject, ulIconSize);
    588587                    pBmpInfoHeader2=(PBITMAPINFOHEADER2)_wpQueryBitmapInfoHeader((MMBitmap*)wpObject);
    589588                  }
     
    636635                                      CLR_WHITE, CLR_BLACK, DBM_STRETCH /*|DBM_IMAGEATTRS*/);
    637636                      }
     637                      if(_somIsA(wpObject, cwImageClass)) {
     638                      MMImage_cwmmFreeSmallBitmap((MMImage *)wpObject);
     639                    }
     640                    else {
     641                      MMBitmap_cwmmFreeSmallBitmap((MMBitmap*)wpObject);
     642                    }
    638643                      return (MRESULT) TRUE;
    639644                    }/* hbm */
Note: See TracChangeset for help on using the changeset viewer.