After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 639461 - The Input Indicator dies not get repainted unless you move the mouse cursor over it
The Input Indicator dies not get repainted unless you move the mouse cursor o...
Status: RESOLVED FIXED
Product: gnome-shell
Classification: Core
Component: extensions
unspecified
Other Linux
: Normal normal
: ---
Assigned To: gnome-shell-maint
gnome-shell-maint
Depends on:
Blocks:
 
 
Reported: 2011-01-13 21:23 UTC by Sergey V. Udaltsov
Modified: 2011-01-14 00:14 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
kbd-status: Queue redraw on group changes (1.03 KB, patch)
2011-01-13 22:26 UTC, Florian Müllner
reviewed Details | Review
generic-container: Queue a redraw in skip_paint() (1.02 KB, patch)
2011-01-14 00:12 UTC, Florian Müllner
committed Details | Review

Description Sergey V. Udaltsov 2011-01-13 21:23:56 UTC
I switch layouts (us->ru), the indicator stays "frozen" with the "USA" label - till I move the mouse cursor to it (no clicking!). Once the mouse cursor touches the indicator (again, no clicking performed, no focus changes), it immediately switches to Rus. The same thing with switching back Rus->USA
Comment 1 Florian Müllner 2011-01-13 22:26:13 UTC
Created attachment 178269 [details] [review]
kbd-status: Queue redraw on group changes

When switching between keyboard layouts, the indicator updates
instantly, but the change is not visible until a redraw is
triggered.

Force a redraw, so the change is visible immediately.

I assume that the redraw is needed for flags as well, but didn't test.
Comment 2 Colin Walters 2011-01-13 22:31:38 UTC
Review of attachment 178269 [details] [review]:

::: js/ui/status/keyboard.js
@@ +154,1 @@
 

Shouldn't calling _set_skip_paint call _queue_redraw() itself in shell-generic-container.c?
Comment 3 Sergey V. Udaltsov 2011-01-13 22:45:15 UTC
I do not know - but it really helps. Please commit (or fix set_skip_paint)
Comment 4 Florian Müllner 2011-01-14 00:12:02 UTC
Created attachment 178278 [details] [review]
generic-container: Queue a redraw in skip_paint()

When changing a child's visibility with skip_paint(), the change
will not be visible until a redraw is triggered. Queue a redraw,
so that the function has an immediate effect.
Comment 5 Florian Müllner 2011-01-14 00:13:28 UTC
Comment on attachment 178278 [details] [review]
generic-container: Queue a redraw in skip_paint()

I accidentally attached this patch in bug 639474, where it was reviewed. Sorry for the noise.
Comment 6 Florian Müllner 2011-01-14 00:14:06 UTC
Attachment 178278 [details] pushed as bed063e - generic-container: Queue a redraw in skip_paint()