Title: | DECWINDOWS 26-JAN-89 to 29-NOV-90 |
Notice: | See 1639.0 for VMS V5.3 kit; 2043.0 for 5.4 IFT kit |
Moderator: | STAR::VATNE |
Created: | Mon Oct 30 1989 |
Last Modified: | Mon Dec 31 1990 |
Last Successful Update: | Fri Jun 06 1997 |
Number of topics: | 3726 |
Total number of notes: | 19516 |
I'm trying to draw on the same window from two different processes. One of them creates the window and send the display_id, screen_id and window_id to the other via mailbox. I always get an access violation when this one tries to use the variables just received via the mailbox (the debugger tells me the values are correct) Anything wrong in the logic of the application? Any suggestion? Thanks, Xavi
T.R | Title | User | Personal Name | Date | Lines |
---|---|---|---|---|---|
3048.1 | PSW::WINALSKI | Careful with that VAX, Eugene | Mon Jul 09 1990 13:22 | 8 | |
In the mailbox, you should be passing the display name (as passed to XOpenDisplay) rather than the display ID, which is an address specific to one particular process. Likewise, you should pass the screen number, not the address of the screen structure. In the process that receives this information through the mailbox, you must do an XOpenDisplay() before you try writing to the window. --PSW | |||||
3048.2 | Don't pass GCs either | DECWIN::FISHER | Prune Juice: A Warrior's Drink! | Fri Jul 13 1990 10:09 | 9 |
BTW, just in case this gives someone other ideas, it is ok to pass most resource ids between processes (i.e. windows, colormaps, pixmaps, etc) but *not* GCs. The gc that you get from XCreateGC is also a process-space address. And yes, there is a way to get the actual X id out of it, but don't do that either! The GC information is cached in process space. If there are caches in two different processes, at least one of them will get confused! Burns |