This patch change the behaviour of the outliner toggle visibility/renderability buttons (and corresponding keyboard functions) in a small detail: toggle the visibility/renderablilty for the object and all child-objects only for objects which are not excluded from selection.
Current behaviour:
With Ctrl key+click the visiblity/selectable/renderable state of an object and all sub-objects can be toggled. This is done independent from the current select-state of the sub-objects.
New behaviour:
With Ctrl key+click the visiblity/selectable/renderable state of an object and all sub-objects can be toggled if the select-state of an object is set. If the select-state is cleared (the object cannot be selected) the visibility or renderable state of the object it _not_ toggled. This keep objects which should be kept in a "locked" state, e. g. helper objects like mirror-planes which should not be visible and not rendered, in their preselected visiblity/renderable state even when the visibility or renderable state of a complete hierarchy is changed.