evt.data.generic.datum[0] = 262;

What is "datum"?  the generic struct insidt data struct does not have that
member.

Max
--- Dave Carrigan <[EMAIL PROTECTED]> wrote:
> The attached program demonstrates what I think is a PalmOS 3.5 bug. It's
> a minimal program that opens a form, adds a custom event to the queue,
> and pops up an alert when it sees the custom event.
> 
> However, if I set the event's data to the value 262, the program fails.
> It appears that something inside PalmOS wants to handle the event,
> because the event gets eaten, and a spurious menuCmdBarOpenEvent is
> generated. If I use any other value in the data then my form sees the
> event and pops up the alert. 
> 
> The program works fine under PalmOS 3.3 and 4.0. I also tried it under
> PalmOS 3.5.3, but it still fails.
> 
> -- 
> Dave Carrigan ([EMAIL PROTECTED])            | Yow! I was making donuts and
> now
> UNIX-Apache-Perl-Linux-Firewalls-LDAP-C-DNS | I'm on a bus!
> Seattle, WA, USA                            | 
> http://www.rudedog.org/                     | 
> 
> ------------------------------------------------------------------------
> #include <PalmOS.h>
> 
> static Boolean 
> FormHandleEvent(EventType *e)
> {
>   Boolean handled = false;
>   FormType *frm;
>   EventType evt;
>     
>   frm = FrmGetActiveForm();
> 
>   switch (e->eType) {
>   case frmOpenEvent: 
>     FrmDrawForm(frm);
>     MemSet(&evt, sizeof(evt), 0);
>     evt.eType = firstUserEvent;
>     evt.data.generic.datum[0] = 262;
>     EvtAddEventToQueue(&evt);
>     handled = true;
>     break;
> 
>   case firstUserEvent:
>     FrmAlert(1000);
>     handled = true;
>     break;
> 
>   default:
>     break;
>   }
> 
>   return handled;
> }
> 
> static Boolean 
> ApplicationHandleEvent(EventType *e)
> {
>   FormType *frm;
>   UInt16 formId;
>   Boolean handled = false;
> 
>   if (e->eType == frmLoadEvent) {
>     formId = e->data.frmLoad.formID;
>     frm = FrmInitForm(formId);
>     FrmSetEventHandler(frm, FormHandleEvent);
>     FrmSetActiveForm(frm);
>     handled = true;
>   }
> 
>   return handled;
> }
> 
> UInt32
> PilotMain(UInt16 cmd, void *cmdPBP, UInt16 launchFlags)
> {
>   UInt16 err;
>   EventType e;
> 
>   if (cmd == sysAppLaunchCmdNormalLaunch) {
>     FrmGotoForm(1000);
>     do {
>       EvtGetEvent(&e, evtWaitForever);
>       if (! SysHandleEvent (&e))
>       if (! MenuHandleEvent (NULL, &e, &err))
>         if (! ApplicationHandleEvent (&e))
>           FrmDispatchEvent (&e);
>     } while (e.eType != appStopEvent);
>     FrmCloseAllForms();
>   } else {
>     return sysErrParamErr;
>   }
> 
>   return 0;


=====
-=-=-=-=-=-=-=-=-=-=-=-=-==-=-=-==-=-=-=-=-=-=-=-=-=-=-=-=-=-
Got Palm?
Get ExBox at http://www.weirdwww.com/ExBox to beam anything!

__________________________________________________
Do You Yahoo!?
Send FREE video emails in Yahoo! Mail!
http://promo.yahoo.com/videomail/

-- 
For information on using the Palm Developer Forums, or to unsubscribe, please see 
http://www.palmos.com/dev/tech/support/forums/

Reply via email to