[En-Nut-Discussion] Optimizing nutconf
Thiago A. Corrêa
thiago.correa at gmail.com
Wed Jan 14 00:35:52 CET 2009
On Tue, Jan 13, 2009 at 7:12 PM, Ole Reinhardt
<ole.reinhardt at embedded-it.de> wrote:
> Hi Jörg,
>
>> I will re-post the patch as attachment (maybe someone else also
>> wants to give it a try...), but I unfortunately cannot do this berfore
>> Thursday evening, since I'm travelling and I have the patch on my
>> PC at home only.
>
> Harald forwarded me your mail directly again and there the mail body was
> intact, so I could extract your patch.
>
> For me too, this patch fixes the segmentation fault and nutconf works.
> >From the C++ / WXwidgets side of view I don't have an opinion to your
> patch since I'm no WX nor a C++ expert. If you and others don't have any
> objections I could checkin the patch to CVS.
>
I would like to offer a few comments.
diff -b -U3 -r1.18 nutconf.cpp
--- tools/nutconf/nutconf.cpp 18 Sep 2008 09:53:22 -0000 1.18
+++ tools/nutconf/nutconf.cpp 16 Dec 2008 11:26:15 -0000
@@ -166,11 +166,20 @@
* Splash display.
*/
wxBitmap bmp(wxBITMAP(SSB_NUTCONF));
- wxSplashScreen* splash = new wxSplashScreen(bmp,
wxSPLASH_CENTRE_ON_SCREEN, 0, NULL, -1);
- for (int i = 0; i < 5; i++) {
+ wxSplashScreen* splash = new wxSplashScreen(bmp,
+ wxSPLASH_CENTRE_ON_SCREEN,
+ 0, NULL, -1, wxDefaultPosition, wxDefaultSize,
+ wxSIMPLE_BORDER|wxSTAY_ON_TOP);
+// wxSplashScreen* splash = new wxSplashScreen(bmp,
+// wxSPLASH_CENTRE_ON_SCREEN|wxSPLASH_TIMEOUT,
+// 6000, NULL, -1, wxDefaultPosition, wxDefaultSize,
+// wxSIMPLE_BORDER|wxSTAY_ON_TOP);
Looks great, but I guess we should loose the commented out lines,
that's what we have CVS for :)
Removing the loop might get it to show for a bit less time, but that's
quite aestetic.
[snip]
+ if(splash) {
+ splash->Destroy();
+ }
+
return true;
}
I know you just moved this block, but unless wxSplashScreen::Destroy()
commits suicide ( delete this ), this will leak memory. If it's
destructor calls Destroy, you can just delete it:
delete splash;
No if checking is necessary, because in C++ it's safe to delete 0;
Kind Regards,
Thiago A. Correa
More information about the En-Nut-Discussion
mailing list