[Bug 56070] Can't click button after setting it sensitive.

gtk+ (bugzilla.gnome.org) bugzilla-daemon at bugzilla.gnome.org
Thu Jun 14 03:25:59 UTC 2007


If you have any questions why you received this email, please see the text at
the end of this email. Replies to this email are NOT read, please see the text
at the end of this email. You can add comments to this bug at:
  http://bugzilla.gnome.org/show_bug.cgi?id=56070

  gtk+ | gtk | Ver: 2.6.x




------- Comment #99 from Matthias Clasen  2007-06-14 03:25 UTC -------
Ok, trying to write down some kind of test plan. 

Concepts (as outlined by Owen)

- The real pointer window: this is the window that we most recently received an
  enter notify for (windows that don't select for crossing events can't become 
  the real pointer window)

- The real pointer widget: this is the widget to which the real pointer window 
  belongs

- The effective pointer window: this is the same as the real pointer window,
  unless the real pointer widget is either insensitive or there is a grab 
  on a widget that is not an ancestor of the real pointer widget, in which 
  case it is the root window.

Theory of operation

When the effective pointer window is the same as the real pointer window, we
receive crossing events from the window system. When the effective pointer 
window changes to be different from the real pointer window, we synthesize
crossing events according to the rules of the X protocol about crossing events:

If the root window is becoming the effective pointer window, we generate

 - a leave notify with detail Ancestor on the real pointer window
 - leave notifies with detail Virtual on any ancestor of the real 
   pointer window up to the toplevel
 - an enter notify with detail Inferior on the root window

If the root window stops being the effective pointer window, we generate

 - a leave notify with detail Inferior on the root window
 - enter notifies with detail Virtual on any ancestor of the real 
   pointer pointer window, starting at the toplevel
 - an enter notify with detail Ancestor on the real pointer window


What to test: 

- Check that the tracking of real and effective pointer window and 
  widget works correctly

- Verify that we generate the expected sequence of crossing events with
  correct details when the real pointer widget becomes insensitive

- Verify the event sequence when the real pointer widget becomes sensitive
  again

- Verify the event sequence when a sibling widget of the real pointer widget
  establishes a GTK grab

- Verify the event sequence when the sibling widget releases the grab again

All this should be done with multi-window widgets, too


-- 
See http://bugzilla.gnome.org/page.cgi?id=email.html for more info about why you received
this email, why you can't respond via email, how to stop receiving
emails (or reduce the number you receive), and how to contact someone
if you are having problems with the system.

You can add comments to this bug at http://bugzilla.gnome.org/show_bug.cgi?id=56070.



More information about the pkg-gnome-maintainers mailing list