Bug 596801 - [uiaclient-GTKs]: The disable button became a enable button, but its IsEnableProperty still be false
Summary: [uiaclient-GTKs]: The disable button became a enable button, but its IsEnable...
Status: VERIFIED FIXED
Alias: None
Product: UI Automation
Classification: Mono
Component: Client - UIA (show other bugs)
Version: Unspecified
Hardware: Other openSUSE 11.2
: P2 - High : Normal
Target Milestone: ---
Assignee: E-mail List
QA Contact: E-mail List
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-04-15 03:53 UTC by Feng Xia Mu
Modified: 2010-04-21 07:17 UTC (History)
1 user (show)

See Also:
Found By: ---
Services Priority:
Business Priority:
Blocker: ---
Marketing QA Status: ---
IT Deployment: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
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