keyboard: destroy actors when a group is removed

We can't reuse key actors since signals connected to them are
associated to the original group object.
Fix of commit 824fbe09c2.

https://bugzilla.gnome.org/show_bug.cgi?id=681735
This commit is contained in:
Daiki Ueno 2013-02-20 19:10:29 +09:00
parent a4a5492782
commit a8f9871725

View File

@ -412,13 +412,11 @@ const Keyboard = new Lang.Class({
}, },
_onGroupAdded: function (keyboard, gname) { _onGroupAdded: function (keyboard, gname) {
if (!(gname in this._groups)) this._groups[gname] = this._createLayersForGroup(gname);
this._groups[gname] = this._createLayersForGroup(gname);
}, },
_onGroupRemoved: function (keyboard, gname) { _onGroupRemoved: function (keyboard, gname) {
// Since _createLayersForGroup is costly, don't remove the delete this._groups[gname];
// actors from _groups, so they can be reused.
}, },
_setActiveLayer: function () { _setActiveLayer: function () {