Contents page

Index

pr_WindowPtr


All requesters in the Requester Toolkit check the pr_WindowPtr of your process to find the screen they should open on.

These code fragments show you how to set/restore the pr_WindowPtr of your process.

-----------------------------------------------------------------------------

... struct Window *win; struct Process *myproc; APTR oldwinptr;

main() {

   myproc = (struct Process *)FindTask (NULL);
   /* get old window pointer */
   oldwinptr = myproc->pr_WindowPtr;
   ...
   /* Open your screen */
   ...
   /* Open window on your screen */
   win = OpenWindow (&newwindow);
   if (!win) FreeExit();
   /* change the window pointer */
   myproc->pr_WindowPtr = win;
   ...
   /* now all requesters from the Requester Toolkit will appear
      on the screen your window is on. */
   ... }

----------------------------------------------------------------------------- In 'FreeExit()' you MUST restore the old windowptr before closing your window and exiting! -----------------------------------------------------------------------------

FreeExit() {

   ...
   /* restore old window pointer before closing window */
   myproc->pr_WindowPtr = oldwinptr;
   if (win) CloseWindow (win);
   ...
   exit (0); }