Developer forums (C::B DEVELOPMENT STRICTLY!) > Development
New log manager since rev. 4606
thomas:
logIndex(logIndex) (lines 66 and 73 of sdk_events.cpp)
Surprised the compiler doesn't complain about that. It complains about so many sophistries, but it doesn't see such an obvious thing.
I can't properly fix it since I don't know how all that event stuff is supposed to work, no idea what the 3-4 different constructors are for and what they should do internally.
But... this is the probable cause of your crash, anyway (as logIndex is intitialised to itself, and then Slot(logIndex) is used as frame pointer).
dje:
Well, I think it does nothing in fact (keeping a random value).
I also think it is due to my previous request : not destroy a non logger when removing the pane
In facts, this constructor looks like a duplication of the previous one, replacing Logger* parameter by wxWindow* one.
But it seems that the same code don't work with a NULL logger.
I think that first version is used to add/remove logger pane, second to add/remove nonlogger pane.
Dje
MortenMacFly:
--- Quote from: thomas on December 13, 2007, 09:12:39 am ---But... this is the probable cause of your crash, anyway (as logIndex is intitialised to itself, and then Slot(logIndex) is used as frame pointer).
--- End quote ---
Yes - that really looks bad. Is Yiannis aware of that already?!
dje:
Yes, I can confirm with yesterday's debug session (array access with bad index).
I wrote the problem on this post and created the bug on BerliOS but did not contact Yannis.
Dje
thomas:
The array out of bounds thing is only the symptom, though. Indeed, Slot() doesn't do bounds-checking... but that is deliberate, and it's good that way (bounds checking could not help the issue, anyway).
An event that does not contain a Logger should generally not touch anything related to LogManager at all (only InfoPane).
Maybe, to make things more clear, it would help to have separate events for adding non-Loggers to the InfoPane, too.
Navigation
[0] Message Index
[#] Next page
[*] Previous page
Go to full version