Jump to content United States-English
HP.com Home Products and Services Support and Drivers Solutions How to Buy
» Contact HP
More options
HP.com home
Developer's Toolkit Release Notes for HP-UX 11i > Chapter 3 Known Problems and Bugs

Application Conflicts With DtHelp Searches

» 

Technical documentation

Complete book in PDF
» Feedback
Content starts here

 » Table of Contents

The following information only applies if you are not using Xt[App]MainLoop() to process all events for an application.

There may be an architectural conflict if an application uses Xt[App]PeekEvent() and Xt[App]ProcessEvent() to process X events. If the application calls Xt[App]ProceesEvent() only when Xt[App]PeekEvent() returns true, a DtHelp index search will never complete.

A work procedure is registered when the user selects the Index button in a General Help Dialog. In effect, the 'search' occurs only when the application is not busy doing something else. If Xt[App]ProcessEvent() is called only when there is an X event, it (the X event) takes precedence over any work procedure registered.

Therefore the Search work procedure is never called/completed.

The best way around this is to use Xt[App]MainLoop() to do your event processing.

If you cannot do this, then register your own work procedure before creating any help dialogs. The work procedure can be very simple (a return FALSE) or do the work you want to do if there is no other X event or work procedure pending. Therefore, when a search occurs, its work procedure will take precedence over your work procedure and X events will take precedence over all.

The key is to always call Xt[App]ProcessEvent() so that the search work procedure will occur. If no search is in progress, your work procedure will occur, causing the Xt[App]ProcessEvent() to not block.

Printable version
Privacy statement Using this site means you accept its terms Feedback to webmaster
© Hewlett-Packard Development Company, L.P.