fn observe_value()

in native/desktop-macos/src/macos/application_api.rs [513:537]


        fn observe_value(
            &self,
            key_path: Option<&NSString>,
            object: Option<&AnyObject>,
            change: Option<&NSDictionary<NSKeyValueChangeKey, AnyObject>>,
            context: *mut c_void,
        ) {
            catch_panic(|| {
                match (object, key_path) {
                    (Some(object), Some(key_path))
                        if object.class().superclass() == Some(MyNSApplication::class())
                            && key_path == ns_string!("effectiveAppearance") =>
                    {
                        handle_application_appearance_change();
                    }
                    _ => unsafe {
                        let _: () = msg_send![super(self), observeValueForKeyPath: key_path,
                                                                     ofObject: object,
                                                                       change: change,
                                                                      context: context];
                    },
                }
                Ok(())
            });
        }