
While fixing it, also reproducing multi-object selection logic we have in the viewport. If you select one bone from an armature, it deselects all bones from the other armatures currently in edit mode. Inspired by proposed fix by Philipp Oeser (lichtwerk). Code explanation ================ CTX_data_edit_object(C) may be NULL here. In the few cases where it is not we use it for the notifier (in the other cases we call the notifier with NULL, so no harm done). This code is called during outliner drawing, and it is called, for instance every time you mouse hover a bone. If you have a mesh object in edit mode and mouse hover the bones of an armature it is plain obvious we can't rely on CTX_data_edit_object() for anything armature related. And that the original assert was asking for troubles.