I think I've hunted down the bug that causes anything that uses the
mousemove stuff to crash.  Around line 800 or so in the file
Gui_MessageLoops.cpp, the function ButtonMsgLoop has no default statement
in the handling loop.  The value of PerlResult is left up to chance and so
at the end of the function, when DefButtonProc(hwnd, uMsg, wParam, lParam)
is called, everything dies a horrible painful death.
  Tacking in a default that sets PerlResult to 0 in that case will keep
the example code supplied by Alan Lindsey
(http://sourceforge.net/mailarchive/message.php?msg_id=2514089) from
crashing.
  I wonder if the function is really intended to work though in this
release.  I'm curious about the beginning of the function:
    char Name[MAX_EVENT_NAME];
    PerlResult = 1;
    strcpy(Name, "main::");

  The name of the button isn't even used, but this is plausibly dangerous
since the Name array isn't initialized before it's used.


  Also, this may just be me misinterpreting things, but the value of
perlcs->cs.lpszName
  It strikes me as odd that the -title option fills this in where -name
fills in the window name.

  Just wondering.  I'm hacking back and forth between the latest and
second latest release to rebuild the event model to work like Java's model
(centralized event dispatching) instead of Visual Basic's.

  Chris


Reply via email to