[Scummvm-cvs-logs] CVS: scummvm/gui TabWidget.cpp,1.5,1.6 TabWidget.h,1.2,1.3 dialog.cpp,1.38,1.39 widget.cpp,1.25,1.26 widget.h,1.30,1.31
Max Horn
fingolfin at users.sourceforge.net
Fri Nov 7 06:51:11 CET 2003
Update of /cvsroot/scummvm/scummvm/gui
In directory sc8-pr-cvs1:/tmp/cvs-serv8692
Modified Files:
TabWidget.cpp TabWidget.h dialog.cpp widget.cpp widget.h
Log Message:
fixed memory leak in TabWidget
Index: TabWidget.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/gui/TabWidget.cpp,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -d -r1.5 -r1.6
--- TabWidget.cpp 3 Nov 2003 14:55:36 -0000 1.5
+++ TabWidget.cpp 7 Nov 2003 14:50:32 -0000 1.6
@@ -42,6 +42,14 @@
_tabWidth = 40;
}
+TabWidget::~TabWidget() {
+ for (int i = 0; i < _tabs.size(); ++i) {
+ delete _tabs[i].firstWidget;
+ _tabs[i].firstWidget = 0;
+ }
+ _tabs.clear();
+}
+
int16 TabWidget::getChildY() const {
return getAbsY() + kTabHeight;
}
Index: TabWidget.h
===================================================================
RCS file: /cvsroot/scummvm/scummvm/gui/TabWidget.h,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -d -r1.2 -r1.3
--- TabWidget.h 2 Nov 2003 22:31:19 -0000 1.2
+++ TabWidget.h 7 Nov 2003 14:50:32 -0000 1.3
@@ -39,6 +39,7 @@
public:
TabWidget(GuiObject *boss, int x, int y, int w, int h);
+ ~TabWidget();
virtual int16 getChildY() const;
Index: dialog.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/gui/dialog.cpp,v
retrieving revision 1.38
retrieving revision 1.39
diff -u -d -r1.38 -r1.39
--- dialog.cpp 7 Nov 2003 02:26:55 -0000 1.38
+++ dialog.cpp 7 Nov 2003 14:50:32 -0000 1.39
@@ -35,13 +35,7 @@
*/
Dialog::~Dialog() {
- Widget *w = _firstWidget, *next;
- while (w) {
- next = w->_next;
- w->_next = 0;
- delete w;
- w = next;
- }
+ delete _firstWidget;
_firstWidget = 0;
}
Index: widget.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/gui/widget.cpp,v
retrieving revision 1.25
retrieving revision 1.26
diff -u -d -r1.25 -r1.26
--- widget.cpp 3 Nov 2003 23:33:40 -0000 1.25
+++ widget.cpp 7 Nov 2003 14:50:32 -0000 1.26
@@ -33,6 +33,10 @@
_boss->_firstWidget = this;
}
+Widget::~Widget() {
+ delete _next;
+}
+
void Widget::draw() {
NewGui *gui = &g_gui;
Index: widget.h
===================================================================
RCS file: /cvsroot/scummvm/scummvm/gui/widget.h,v
retrieving revision 1.30
retrieving revision 1.31
diff -u -d -r1.30 -r1.31
--- widget.h 3 Nov 2003 23:33:40 -0000 1.30
+++ widget.h 7 Nov 2003 14:50:32 -0000 1.31
@@ -78,7 +78,7 @@
public:
Widget(GuiObject *boss, int x, int y, int w, int h);
- virtual ~Widget() {}
+ virtual ~Widget();
virtual int16 getAbsX() const { return _x + _boss->getChildX(); }
virtual int16 getAbsY() const { return _y + _boss->getChildY(); }
More information about the Scummvm-git-logs
mailing list