I cannot see something wrong with this approach.
Just from a performance perspective, it should not be needed to set Glyph, GlyphDisabled to nil as setting GlyphDisabled = nil will internally auto-generate the disabled glyph when you set a new glyph.