> Looks good! I wonder if Peter could look at/review the patch? I'll try to > do it myself too but I don't know when can I manage it and, anyhow, 2 heads > (4 eyes?) are better than one (2). > Code review for newevent15.patch src/gtk/spinctrl.cpp(32): Will the TODO be done? src/gtk/spinbutt.cpp(30): Will the TODO be done? Did I overlook them or why haven't these events been changed as well? src/common/event.cpp(212-223,282,289,297-299): src/common/event.cpp(926): Why was the check 'm_fn != 0' changed? Even though m_fn is now a wxEventFunctor pointer, it should still be valid, but I'm not sure whether this is also true for the new check. src/common/event.cpp(1271): The comment: "no need for an extra virtual function call" should be removed, since it is not true anymore. src/common/event.cpp(1460): Wouldn't a parameter by reference be better here? include/wx/event.h(97): I wouldn't use the term 'modern events' here. I used it in the prototype only to make it more clear, what events are legacy and what are the improved (modern) events. I would write: // macros to create an event type depending on whether type safe events are enabled. include/wx/event.h(165): I would move the destructor to event.cpp. I think some compilers have difficulties creating the vtbl if the destructor is defined inline, but I'm not sure. include/wx/event.h(380): Even though I understand the reasoning from Brian, I'm still not convinced we need the wxEventConnection. I have the feeling it makes in unnecessary complex to introduce a proxy object. include/wx/event.h(387,399): Wouldn't the compiler generated copy constructor and assignment operator be sufficient? include/wx/event.h(2518): Shouldn't that be wx_const_cast() and not the plain c++ const_cast<>() ? include/wx/event.h(2534): Typo: Should read "associated" and not "asosciated". include/wx/event.h(2816): Since the 'Connect' method is private this comment isn't correct.