diff --git a/plugins/mac-capture/mac-screen-capture.m b/plugins/mac-capture/mac-screen-capture.m index 02ca7a887..dfd390704 100644 --- a/plugins/mac-capture/mac-screen-capture.m +++ b/plugins/mac-capture/mac-screen-capture.m @@ -986,41 +986,43 @@ static obs_properties_t *screen_capture_properties(void *data) props, "show_hidden_windows", obs_module_text("WindowUtils.ShowHidden")); - obs_property_set_modified_callback2(hidden, content_settings_changed, - sc); - obs_properties_add_bool(props, "show_cursor", obs_module_text("DisplayCapture.ShowCursor")); - switch (sc->capture_type) { - case 0: { - obs_property_set_visible(display_list, true); - obs_property_set_visible(window_list, false); - obs_property_set_visible(app_list, false); - obs_property_set_visible(empty, false); - obs_property_set_visible(hidden, false); - break; - } - case 1: { - obs_property_set_visible(display_list, false); - obs_property_set_visible(window_list, true); - obs_property_set_visible(app_list, false); - obs_property_set_visible(empty, true); - obs_property_set_visible(hidden, true); - break; - } - case 2: { - obs_property_set_visible(display_list, true); - obs_property_set_visible(app_list, true); - obs_property_set_visible(window_list, false); - obs_property_set_visible(empty, false); - obs_property_set_visible(hidden, true); - break; - } - } + if (sc) { + obs_property_set_modified_callback2( + hidden, content_settings_changed, sc); - obs_property_set_modified_callback2(empty, content_settings_changed, - sc); + switch (sc->capture_type) { + case 0: { + obs_property_set_visible(display_list, true); + obs_property_set_visible(window_list, false); + obs_property_set_visible(app_list, false); + obs_property_set_visible(empty, false); + obs_property_set_visible(hidden, false); + break; + } + case 1: { + obs_property_set_visible(display_list, false); + obs_property_set_visible(window_list, true); + obs_property_set_visible(app_list, false); + obs_property_set_visible(empty, true); + obs_property_set_visible(hidden, true); + break; + } + case 2: { + obs_property_set_visible(display_list, true); + obs_property_set_visible(app_list, true); + obs_property_set_visible(window_list, false); + obs_property_set_visible(empty, false); + obs_property_set_visible(hidden, true); + break; + } + } + + obs_property_set_modified_callback2( + empty, content_settings_changed, sc); + } if (@available(macOS 13.0, *)) ;