[ros-diffs] [weiden] 18133: Fixed some memory leaks in taskmgr. Patch by Christoph_vW <Christoph@ApiViewer.de>

weiden at svn.reactos.com weiden at svn.reactos.com
Wed Sep 28 14:26:38 CEST 2005


Fixed some memory leaks in taskmgr. Patch by Christoph_vW
<Christoph at ApiViewer.de>
Modified: trunk/reactos/subsys/system/taskmgr/graphctl.c
Modified: trunk/reactos/subsys/system/taskmgr/graphctl.h
Modified: trunk/reactos/subsys/system/taskmgr/perfpage.c
  _____  

Modified: trunk/reactos/subsys/system/taskmgr/graphctl.c
--- trunk/reactos/subsys/system/taskmgr/graphctl.c	2005-09-27
23:37:05 UTC (rev 18132)
+++ trunk/reactos/subsys/system/taskmgr/graphctl.c	2005-09-28
12:26:33 UTC (rev 18133)
@@ -99,20 +99,18 @@

     this->m_bitmapOldPlot = NULL;
 }
 
-#if 0
-TGraphCtrl::~TGraphCtrl()
+void GraphCtrl_Dispose(TGraphCtrl* this)
 {
     /*  just to be picky restore the bitmaps for the two memory dc's */
     /*  (these dc's are being destroyed so there shouldn't be any
leaks) */
-    if (m_bitmapOldGrid != NULL) SelectObject(m_dcGrid,
m_bitmapOldGrid);
-    if (m_bitmapOldPlot != NULL) SelectObject(m_dcPlot,
m_bitmapOldPlot);
-    if (m_bitmapGrid    != NULL) DeleteObject(m_bitmapGrid);
-    if (m_bitmapPlot    != NULL) DeleteObject(m_bitmapPlot);
-    if (m_dcGrid        != NULL) DeleteDC(m_dcGrid);
-    if (m_dcPlot        != NULL) DeleteDC(m_dcPlot);
-    if (m_brushBack     != NULL) DeleteObject(m_brushBack);
+    if (this->m_bitmapOldGrid != NULL) SelectObject(this->m_dcGrid,
this->m_bitmapOldGrid);
+    if (this->m_bitmapOldPlot != NULL) SelectObject(this->m_dcPlot,
this->m_bitmapOldPlot);
+    if (this->m_bitmapGrid    != NULL)
DeleteObject(this->m_bitmapGrid);
+    if (this->m_bitmapPlot    != NULL)
DeleteObject(this->m_bitmapPlot);
+    if (this->m_dcGrid        != NULL) DeleteDC(this->m_dcGrid);
+    if (this->m_dcPlot        != NULL) DeleteDC(this->m_dcPlot);
+    if (this->m_brushBack     != NULL) DeleteObject(this->m_brushBack);
 }
-#endif
 
 BOOL GraphCtrl_Create(TGraphCtrl* this, HWND hWnd, HWND hParentWnd,
UINT nID)
 {
  _____  

Modified: trunk/reactos/subsys/system/taskmgr/graphctl.h
--- trunk/reactos/subsys/system/taskmgr/graphctl.h	2005-09-27
23:37:05 UTC (rev 18132)
+++ trunk/reactos/subsys/system/taskmgr/graphctl.h	2005-09-28
12:26:33 UTC (rev 18133)
@@ -91,6 +91,7 @@

                               double dNewPoint2, double dNewPoint3);
 BOOL    GraphCtrl_Create(TGraphCtrl* this, HWND hWnd, HWND hParentWnd,
 UINT nID);
+void    GraphCtrl_Dispose(TGraphCtrl* this);
 void    GraphCtrl_DrawPoint(TGraphCtrl* this);
 void    GraphCtrl_InvalidateCtrl(TGraphCtrl* this);
 void    GraphCtrl_Paint(TGraphCtrl* this, HWND hWnd, HDC dc);
  _____  

Modified: trunk/reactos/subsys/system/taskmgr/perfpage.c
--- trunk/reactos/subsys/system/taskmgr/perfpage.c	2005-09-27
23:37:05 UTC (rev 18132)
+++ trunk/reactos/subsys/system/taskmgr/perfpage.c	2005-09-28
12:26:33 UTC (rev 18133)
@@ -115,6 +115,10 @@

 /*     PAINTSTRUCT ps; */
 
     switch (message) {
+	case WM_DESTROY:
+		GraphCtrl_Dispose(&PerformancePageCpuUsageHistoryGraph);
+		GraphCtrl_Dispose(&PerformancePageMemUsageHistoryGraph);
+
 	case WM_INITDIALOG:
 
 		/*  Save the width and height */
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.reactos.org/pipermail/ros-diffs/attachments/20050928/1730635f/attachment.html


More information about the Ros-diffs mailing list