On Fri, Mar 25, 2011 at 9:23 PM, Sergey Kurdakov <sergey.fo...@gmail.com> wrote:
> Hi devs.
>
>
> Blenderplayer reports memory corruption while exiting here:
>
> GHOST_EventManager::~GHOST_EventManager()
> {
>        disposeEvents();
>
>        TConsumerVector::iterator iter= m_consumers.begin();
>        while (iter != m_consumers.end())
>        {
>                GHOST_IEventConsumer* consumer = *iter;
>                delete consumer;
>                m_consumers.erase(iter);
>                iter = m_consumers.begin();
>        }
> }
>
> on delete consumer;
> line
>
> I think, that running Valgrind on linux could reveal the source of the 
> problem,
> I'm on windows and not equipped with memory profilers.
>
> I did not try to track the reason.
> But seems with Valgrind this should be easy.
>
> So if someone has a minute to look at this minor issue, that will be great.
>
> Regards
> Sergey

Fixed r35792. was a double free, C++ was freeing automatic but leaving
the event consumer in the event manager which was being freed with the
system.

Note that these bugs don't need valgrind to track down, adding prints
& breakpoints in the free functions is enough to work out whats going
on.
_______________________________________________
Bf-committers mailing list
Bf-committers@blender.org
http://lists.blender.org/mailman/listinfo/bf-committers

Reply via email to