Awkward GTK+ problem, please help! (fwd)



Hi

If anyone can offer advice on the following it would be much appreciated:

I have an application using Gtk+ 1.2 and the Gtk-- wrappers whose main
window consists of a couple of nested boxes to produce a display with
toolbars and other Gtk-drawn areas around the sides and a big custom-drawn
area in the middle.

In the middle I draw a table using custom code.  One of the functions of
the table is to provide button which act like combo boxes.  When the user
clicks, I create a little toplevel window (GTK_WINDOW_TOPLEVEL type) and
put a Gtk_CList inside it.  This appears fine.

The user selects an option from the list.   As soon as I call the
hide method on the little window, something goes wrong:


- Mouse-over highlighting of the Gtk controls in the areas around the side
of the window fails to work.

- Clicks in the user-drawn area are not reported to the application.

- Clicking on one of the toolbar buttons, or text boxes, around the edge
of the window has no immediate effect.  _However_ once one of these
controls has been clicked, everything comes back to life and _subsequent_
clicks work correctly.

 
I wondered if it is something to do with attempting to hide the window in
the "select_row" callback, so I queued the hide for an idle function.
This produces exactly the same effects.  I have also checked that the
fault is independent of the particular window manager used, which it is.

During the "frozen" time the application appears to be in the normal event
loop, and redraw works correctly.


The same table class also uses a similar mechanism for popup text boxes.
These are closed by the user hitting Return.  Everything works fine for
these!


If anyone has any ideas I would be most grateful to hear them!


Cheers

Mark Shinwell
Queens' College, University of Cambridge, UK




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]