8642420@wwu.edu (eric cosky) (03/17/89)
Hi. I'm having a problem using SetFunction. I'm trying to modify
the OpenScreen function so that it will always open an interlace
screen with a height of 400. Anyways, I've been getting a ptr/int
error no matter what I try to do. Here's the code fragment that
does the work...
extern long SetFunction();
struct Screen *(*OldOpenScreen)();
extern struct Screen *MyOpenScreen();
main()
{
[stuff deleted]
OldOpenScreen = SetFunction(IntuitionBase,-198,MyOpenScreen);
[Wait for a break from other task to exit]
SetFunction(IntuitionBase,-198,OldOpenScreen); */
[more stuff deleted]
}
Here's what I'd like to have the OpenScreen point to:
struct Screen *MyOpenScreen(ns)
struct NewScreen *ns;
{
struct Screen *s;
/* set the viewmodes and height values accordingly. */
ns->ViewModes |= LACE;
ns->Height = 400;
/* call the original function */
s = OldOpenScreen(ns);
return(s);
}
Could someone please post or email me an effective modification to
this code? Frustration is really starting to set in..
Thanks for any help.
-eric cosky
InterNet: <8642420@wwu.edu>
Phone: 206-733-1331