home *** CD-ROM | disk | FTP | other *** search
- Path: sparky!uunet!van-bc!mdavcr!brian
- From: brian@mdavcr.mda.ca (Brian Lemire)
- Newsgroups: comp.windows.x
- Subject: olwm, how do popup menus work ?
- Message-ID: <3940@mowgli.mdavcr.mda.ca>
- Date: 11 Jan 93 00:44:30 GMT
- Lines: 34
-
-
- We are using wrappers to write an extension for an X server. We have
- wrapped the graphics context functions and operations successfully as well
- as the CreateGC(), PaintWindowBackground(), and CopyWindow() functions on the
- screen. We seem to be handling most window operations correctly except for
- popup menus. For some reason our wrapper functions are not called when these
- windows are created.
-
- My question is... What happens when a menu "pops up" under the olwm.
- We are currently looking at the menu that "pops up" on the root window. We
- have figured out this much so far...
-
- 1. The client makes a call to map the window containing the popup
- menu.
-
- 2. At the server side this translates into a call to MapWindow() in
- the /dix/window.c file.
-
- 3. The MapWindow() function makes a call to pScreen->ValidateTree()
- followed by a call to HandleExposures(). { HandleExposures() is not
- significant in that the call to it can be commented out and the
- menu still "pops up".}
-
- 4. The call to pScreen->ValidateTree() is in fact a call to
- miValidateTree(). miValidateTree() in turn calls miComputeClips(),
- however neither one seems to call any drawing routines, or event
- generation routines that would result in a window draw. These
- functions only perform calculations on regions.
-
- Any information of ideas would be appreaciated.
-
- Brian Lemire
- brian@mda.ca
-
-