Fixed a bug in MallocObserver::notify().
commit01980517c348d4f35eb94f7a1baccd60ae50badd
authorstrange <kawk256@gmail.com>
Sun, 13 Dec 2009 18:45:40 +0000 (13 11:45 -0700)
committerstrange <kawk256@gmail.com>
Sun, 13 Dec 2009 18:45:40 +0000 (13 11:45 -0700)
tree3770699300ae0cdab2691137198fb436432374da
parent6296c7a148c1557d95f8fe2883085afb9718a937
Fixed a bug in MallocObserver::notify().

It was a bit of a re-entrant problem, combined with a gdb error . . .
Basically, when the gdb interpreter gets '-exec-finish', it finishes the
execution of the current frame. However, if there is a breakpoint on the same
place that the '-exec-finish' goes to, then the message sent out is not a
"function-finished", it is a "breakpoint-hit". That, and the observers were
added in an incorrect order . . .

Now, I have to do something similar for free(). Unfortunately, the difference
here is that I don't have a nice return value to watch for . . . so I don't
know how to watch for it . . .
src/gui/MainWindow.cpp
src/interface/gdb/Controller.cpp
src/interface/gdb/FreeObserver.cpp
src/interface/gdb/MallocObserver.cpp
src/interface/gdb/ParseData.h
src/interface/gdb/StringFollower.cpp