Skip to content

Commit 35384b5

Browse files
committed
qui-devices: do not crash if some properties are denied in policy
Default policy doesn't allow accessing device-related features on dom0. Don't crash widget on this. Fixes QubesOS/qubes-issues#10114
1 parent 954b6ad commit 35384b5

1 file changed

Lines changed: 12 additions & 4 deletions

File tree

qui/devices/device_widget.py

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -475,9 +475,12 @@ def initialize_features(self, *_args, **_kwargs):
475475
mic_dev_strings = []
476476
if microphone:
477477
for domain in domains:
478-
mic_feature = domain.features.get(
479-
backend.FEATURE_ATTACH_WITH_MIC, False
480-
)
478+
try:
479+
mic_feature = domain.features.get(
480+
backend.FEATURE_ATTACH_WITH_MIC, False
481+
)
482+
except qubesadmin.exc.QubesDaemonAccessError:
483+
continue
481484
if isinstance(mic_feature, str):
482485
mic_dev_strings.extend(
483486
[dev for dev in mic_feature.split(" ") if dev]
@@ -493,7 +496,12 @@ def initialize_features(self, *_args, **_kwargs):
493496
self.parent_ports_to_hide = []
494497
parent_ids_to_hide = []
495498
for domain in domains:
496-
children_feature = domain.features.get(backend.FEATURE_HIDE_CHILDREN, False)
499+
try:
500+
children_feature = domain.features.get(
501+
backend.FEATURE_HIDE_CHILDREN, False
502+
)
503+
except qubesadmin.exc.QubesDaemonAccessError:
504+
continue
497505
if isinstance(children_feature, str):
498506
parent_ids_to_hide.extend([s for s in children_feature.split(" ") if s])
499507

0 commit comments

Comments
 (0)