From: Angus Leeming Date: Thu, 13 Sep 2001 11:44:07 +0000 (+0000) Subject: Ok, so I'm a donkey! Easy, easy fix to that ol' memory leak. (And it was X-Git-Tag: 1.6.10~20601 X-Git-Url: https://git.lyx.org/gitweb/?a=commitdiff_plain;h=82ed71bfcbe58f055d926b7a3de7069c7cea0c11;p=features.git Ok, so I'm a donkey! Easy, easy fix to that ol' memory leak. (And it was suggested days ago by Lars too :-() git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@2753 a592a061-630c-0410-9148-cb99ea01b6c8 --- diff --git a/src/frontends/xforms/ChangeLog b/src/frontends/xforms/ChangeLog index d60c2a1b9f..9c529a5eb0 100644 --- a/src/frontends/xforms/ChangeLog +++ b/src/frontends/xforms/ChangeLog @@ -1,3 +1,8 @@ +2001-09-13 Angus Leeming + + * FormMathsBitmap.[Ch]: add d-tor to finally fix a memory leak. + Hoorah! Happy Birthday to me! + 2001-09-07 Dekel Tsur * forms/form_ref.fd: Add buffer button. diff --git a/src/frontends/xforms/FormMathsBitmap.C b/src/frontends/xforms/FormMathsBitmap.C index 5f70f6d7fe..0239867db3 100644 --- a/src/frontends/xforms/FormMathsBitmap.C +++ b/src/frontends/xforms/FormMathsBitmap.C @@ -48,6 +48,16 @@ FormMathsBitmap::FormMathsBitmap(LyXView * lv, Dialogs * d, } +FormMathsBitmap::~FormMathsBitmap() +{ + if (!form()) + return; + + if (form()->visible) fl_hide_form(form()); + fl_free_form(form()); +} + + FL_FORM * FormMathsBitmap::form() const { return form_.get(); @@ -63,8 +73,7 @@ void FormMathsBitmap::build() form_.reset(fl_bgn_form(FL_UP_BOX, w_, h_)); form_->u_vdata = this; - FL_OBJECT * obj = fl_add_box(FL_UP_BOX, 0, 0, w_, h_, ""); - //fl_add_object(form_.get(), obj); + fl_add_box(FL_UP_BOX, 0, 0, w_, h_, ""); y_ = 0; for (vector::const_iterator it = bitmaps_.begin(); @@ -78,16 +87,14 @@ void FormMathsBitmap::build() } char const * const label = N_("Close|^["); - x_ = (form_->w - 90) / 2; y_ += 10; - - FL_OBJECT * button_cancel = obj = + + FL_OBJECT * button_cancel = fl_add_button(FL_NORMAL_BUTTON, x_, y_, 90, 30, idex(_(label))); - //fl_add_object(form_.get(), obj); - fl_set_button_shortcut(obj, scex(_(label)), 1); - fl_set_object_lsize(obj, FL_NORMAL_SIZE); - fl_set_object_callback(obj, C_FormBaseDeprecatedCancelCB, 0); + fl_set_button_shortcut(button_cancel, scex(_(label)), 1); + fl_set_object_lsize(button_cancel, FL_NORMAL_SIZE); + fl_set_object_callback(button_cancel, C_FormBaseDeprecatedCancelCB, 0); fl_end_form(); diff --git a/src/frontends/xforms/FormMathsBitmap.h b/src/frontends/xforms/FormMathsBitmap.h index ed39b6c153..4d9495e630 100644 --- a/src/frontends/xforms/FormMathsBitmap.h +++ b/src/frontends/xforms/FormMathsBitmap.h @@ -39,6 +39,8 @@ public: FormMathsBitmap(LyXView *, Dialogs * d, FormMathsPanel const &, std::vector const &); /// + ~FormMathsBitmap(); + /// void addBitmap(int, int, int, int, int, unsigned char const *, bool = true);