News:

When registered with our forums, feel free to send a "here I am" post here to differ human beings from SPAM bots.

Main Menu

memory leak in m_debuggerMenuHandler in SRC target

Started by ollydbg, April 17, 2013, 02:36:58 AM

Previous topic - Next topic

ollydbg


void MainFrame::SetupDebuggerUI()
{
    m_debuggerMenuHandler = new DebuggerMenuHandler;
    m_debuggerToolbarHandler = new DebuggerToolbarHandler(m_debuggerMenuHandler);
    m_debuggerMenuHandler->SetEvtHandlerEnabled(false);
    m_debuggerToolbarHandler->SetEvtHandlerEnabled(false);
    wxWindow* window = Manager::Get()->GetAppWindow();
    if (window)
    {
        window->PushEventHandler(m_debuggerMenuHandler);
        window->PushEventHandler(m_debuggerToolbarHandler);
    }
    m_debuggerMenuHandler->SetEvtHandlerEnabled(true);
    m_debuggerToolbarHandler->SetEvtHandlerEnabled(true);
....


Question: I can't find there is a place to "delete m_debuggerMenuHandler", does it mean the wxwidgets framework can delete it? Or there is memory leak?
If some piece of memory should be reused, turn them to variables (or const variables).
If some piece of operations should be reused, turn them to functions.
If they happened together, then turn them to classes.

oBFusCATed

Quote from: ollydbg on April 17, 2013, 02:36:58 AM
Or there is memory leak?
Just a memory leak. wxWidgets deletes only window type of object, I suppose.
I'll take care of it.
(most of the time I ignore long posts)
[strangers don't send me private messages, I'll ignore them; post a topic in the forum, but first read the rules!]

ollydbg

Fev 8995 fix one memory leak(m_debuggerMenuHandler), what about m_debuggerToolbarHandler?
If some piece of memory should be reused, turn them to variables (or const variables).
If some piece of operations should be reused, turn them to functions.
If they happened together, then turn them to classes.

oBFusCATed

Quote from: ollydbg on April 18, 2013, 04:04:03 PM
Fev 8995 fix one memory leak(m_debuggerMenuHandler), what about m_debuggerToolbarHandler?
Fix it the same way.
(most of the time I ignore long posts)
[strangers don't send me private messages, I'll ignore them; post a topic in the forum, but first read the rules!]

ollydbg

Quote from: oBFusCATed on April 18, 2013, 05:05:25 PM
Quote from: ollydbg on April 18, 2013, 04:04:03 PM
Fev 8995 fix one memory leak(m_debuggerMenuHandler), what about m_debuggerToolbarHandler?
Fix it the same way.
I fixed it in rev 8998.
If some piece of memory should be reused, turn them to variables (or const variables).
If some piece of operations should be reused, turn them to functions.
If they happened together, then turn them to classes.