While tracking various crashes down I found myself in the DoEvent function in GUI_Events.cpp, now I don't think there is a issue here - but I did notice something surprising.

I would have through that if a control was using NEM events, the OEM logic wouldn't be called for that control.

For example, a button has a NEM click handler, I wouldn't expect DoEvent to look for OEM events such as MouseMove for the same button - but it does. If this is correct, it would mean that to save doing a perl_get_cv call (which is really inefficient) you would have to define all possible events for all controls?

Add this line:

  printf("EventName %s \n",EventName);

After:

       // OEM name event
       char EventName[MAX_EVENT_NAME];
       strcpy(EventName, "main::");
       strcat(EventName, perlud->szWindowName);
       strcat(EventName, "_");
       strcat(EventName, Name);

To see the amount of needless calls made...

Cheers,

jez.



Reply via email to