Author Topic: memory leak in m_debuggerMenuHandler in SRC target  (Read 6352 times)

Offline ollydbg

  • Developer
  • Lives here!
  • *****
  • Posts: 6079
  • OpenCV and Robotics
    • Chinese OpenCV forum moderator
memory leak in m_debuggerMenuHandler in SRC target
« on: April 17, 2013, 02:36:58 am »
Code
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.

Offline oBFusCATed

  • Developer
  • Lives here!
  • *****
  • Posts: 13406
    • Travis build status
Re: memory leak in m_debuggerMenuHandler in SRC target
« Reply #1 on: April 17, 2013, 02:56:38 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!]

Offline ollydbg

  • Developer
  • Lives here!
  • *****
  • Posts: 6079
  • OpenCV and Robotics
    • Chinese OpenCV forum moderator
Re: memory leak in m_debuggerMenuHandler in SRC target
« Reply #2 on: April 18, 2013, 04:04:03 pm »
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.

Offline oBFusCATed

  • Developer
  • Lives here!
  • *****
  • Posts: 13406
    • Travis build status
Re: memory leak in m_debuggerMenuHandler in SRC target
« Reply #3 on: April 18, 2013, 05:05:25 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!]

Offline ollydbg

  • Developer
  • Lives here!
  • *****
  • Posts: 6079
  • OpenCV and Robotics
    • Chinese OpenCV forum moderator
Re: memory leak in m_debuggerMenuHandler in SRC target
« Reply #4 on: April 19, 2013, 03:35:45 am »
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.