GNOME Bugzilla – Bug 689548
Spinners inside buttons don't spin
Last modified: 2014-03-17 18:50:50 UTC
Created attachment 230546 [details] test case The state changes in GtkButton caused by gtk_button_update_state are done using gtk_widget_set_state_flags with the clear set to TRUE. This overwrites the state of the spinner inside it, and sometimes causes the 'active' flag to be unset. This leads to a frozen spinner, when it should be spinning. eg., with the attached test case, if you hover over the button the change in the button's state to prelight causes the active flag to be unset from the spinner, and so on.
Created attachment 230578 [details] [review] spinner: Ensure that the active flag is turned on if widget is active
(In reply to comment #1) > Created an attachment (id=230578) [details] [review] > spinner: Ensure that the active flag is turned on if widget is active This looks good to me, but it doesn't fully solve the problem I see in bug 689888. The animation only starts when I move the pointer out of the button - i.e. when the prelight state stops being true. I tried to add an animation selector in the theme for .spinner:active:prelight, but it didn't seem to help. Calling gtk_widget_set_state_flags() with TRUE to "clear" instead made it work, but it doesn't seem correct. More investigation needed. Benjamin, any opinions on this?
testcase seems to work fine now. please reopen if there's still a problem