Bug 596801

Summary: [uiaclient-GTKs]: The disable button became a enable button, but its IsEnableProperty still be false
Product: [Mono] UI Automation Reporter: Feng Xia Mu <fxmu>
Component: Client - UIAAssignee: E-mail List <mono-a11y-bugs>
Status: VERIFIED FIXED QA Contact: E-mail List <mono-a11y-qa>
Severity: Normal    
Priority: P2 - High CC: mgorse
Version: Unspecified   
Target Milestone: ---   
Hardware: Other   
OS: openSUSE 11.2   
Whiteboard:
Found By: --- Services Priority:
Business Priority: Blocker: ---
Marketing QA Status: --- IT Deployment: ---

Description Feng Xia Mu 2010-04-15 03:53:36 UTC
COMMENTS

The same as its Summary, and when call its Invoke method it will throw an exception.

REPRO

1. Launch F-Spot.
2. Do some steps to import pictures:
   2.1  Click "Photo" menu.
   2.2  Invoke "Import..." menu item. 
   2.3  Select the "Select Folder" menu item in combo box.
   2.4  Input text "/usr/share/pixmaps/" into Edit near by "Location:".
   2.5  Click "Open" Button.
   2.6  Click "Import" Button 
3. Launch UIA Explore.           
4. Expand the "Import" tree on the left of UIA Explore, find the "Import" button and check its IsEnableProperty on the right part.

RESULTS

The propery is false.

EXPECTED RESULTS

The property should be true.
Comment 1 Michael Gorse 2010-04-16 21:53:23 UTC
Our code currently uses ATK_STATE_ENABLED to set the IsEnabled property.  Most Gtk widgets set both STATE_SENSITIVE and STATE_ENABLED based on whether the widget is sensitive, but a few widgets (toggle buttons and check menu items) also check whether the widget is "inconsistent" for STATE_ENABLED.  At-spi-sharp, like pyatspi2, caches the state set as an optimization and relies on StateChanged signals.  Since it does not receive one for STATE_ENABLED, its cache can become incorrect.

I've filed BGO#615999 for this and proposed a patch, so it should be fixed in gtk+ 2.21.1 (not sure about 2.20.1).  In the meantime, I should be able to mostly work around it in AtspiUiaSource.
Comment 2 Michael Gorse 2010-04-20 21:55:52 UTC
Added a work-around in at-spi-sharp R155839.
(The proper fix would be in gail and is still awaiting review.)
Comment 3 Michael Gorse 2010-04-20 21:56:29 UTC
Oops--forgot to mark fixed.
Comment 4 Feng Xia Mu 2010-04-21 07:17:52 UTC
The bug has been fixed in at-spi-sharp-155839-48.1.i586