status/keyboard: Fix hidden separator when menu changes while open
Due to the way the IBus API works we might get property changes while the menu is already open. In that case the separator visibility logic doesn't work since it only applies on menu open/close. This works around that issue. https://bugzilla.gnome.org/show_bug.cgi?id=682314
This commit is contained in:
parent
9659d934ac
commit
5c7da4b0e6
@ -210,7 +210,8 @@ const InputSourceIndicator = new Lang.Class({
|
||||
this._currentSourceIndex = this._settings.get_uint(KEY_CURRENT_INPUT_SOURCE);
|
||||
this._xkbInfo = new GnomeDesktop.XkbInfo();
|
||||
|
||||
this.menu.addMenuItem(new PopupMenu.PopupSeparatorMenuItem());
|
||||
this._propSeparator = new PopupMenu.PopupSeparatorMenuItem();
|
||||
this.menu.addMenuItem(this._propSeparator);
|
||||
this._propSection = new PopupMenu.PopupMenuSection();
|
||||
this.menu.addMenuItem(this._propSection);
|
||||
this._propSection.actor.hide();
|
||||
@ -445,13 +446,16 @@ const InputSourceIndicator = new Lang.Class({
|
||||
},
|
||||
|
||||
_buildPropSection: function() {
|
||||
this._propSeparator.actor.hide();
|
||||
this._propSection.actor.hide();
|
||||
this._propSection.removeAll();
|
||||
|
||||
this._buildPropSubMenu(this._propSection, this._properties);
|
||||
|
||||
if (!this._propSection.isEmpty())
|
||||
if (!this._propSection.isEmpty()) {
|
||||
this._propSection.actor.show();
|
||||
this._propSeparator.actor.show();
|
||||
}
|
||||
},
|
||||
|
||||
_buildPropSubMenu: function(menu, props) {
|
||||
|
Loading…
Reference in New Issue
Block a user