Skip to content

Commit a922dd6

Browse files
authored
only reset bin number when layer selection is valid (#315)
1 parent f5451e5 commit a922dd6

File tree

2 files changed

+14
-7
lines changed

2 files changed

+14
-7
lines changed

src/napari_matplotlib/histogram.py

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -99,15 +99,12 @@ def on_update_layers(self) -> None:
9999
Called when the selected layers are updated.
100100
"""
101101
super().on_update_layers()
102-
if self._valid_layer_selection:
102+
if self._valid_layer_selection and self.layers:
103103
self.layers[0].events.contrast_limits.connect(self._update_contrast_lims)
104104

105-
if not self.layers:
106-
return
107-
108-
# Reset the num bins based on new layer data
109-
layer_data = self._get_layer_data(self.layers[0])
110-
self._set_widget_nums_bins(data=layer_data)
105+
# Reset the num bins based on new layer data
106+
layer_data = self._get_layer_data(self.layers[0])
107+
self._set_widget_nums_bins(data=layer_data)
111108

112109
def _update_contrast_lims(self) -> None:
113110
for lim, line in zip(

src/napari_matplotlib/tests/test_histogram.py

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -164,3 +164,13 @@ def test_change_contrast(make_napari_viewer, astronaut_data):
164164
# update contrast limits of image layer, and check no errors are thrown
165165
image_layer = viewer.layers[0]
166166
image_layer.contrast_limits = [2, 50]
167+
168+
169+
def test_select_labels_layer(make_napari_viewer):
170+
"""Test that no errors are thrown when the Histogram widget
171+
is opened with a labels layer selected."""
172+
viewer = make_napari_viewer()
173+
viewer.add_labels(np.ones(shape=(5, 5, 5), dtype="uint8"))
174+
175+
widget = HistogramWidget(viewer)
176+
viewer.window.add_dock_widget(widget)

0 commit comments

Comments
 (0)