LibCecSharp: better handling of callbacks
[deb_libcec.git] / src / LibCecSharp / LibCecSharp.cpp
index 7f0667a84066d92245f91ba1827c7aa263aabcdc..cd0f6d05d3ae239afc2e8286b9e1ae7694c2e2c8 100644 (file)
@@ -82,6 +82,7 @@ namespace CecSharp
                        ConvertConfiguration(context, config, libCecConfig);
 
                        m_libCec = (ICECAdapter *) CECInitialise(&libCecConfig);
+                       config->Update(libCecConfig);
 
                        delete context;
                        return m_libCec != NULL;
@@ -135,11 +136,9 @@ namespace CecSharp
                        }
 
                        if (netConfig->ServerVersion >= CecServerVersion::Version1_6_3)
-                       {
-                         config.bMonitorOnly              = netConfig->MonitorOnlyClient ? 1 : 0;
-                       }
+                         config.bMonitorOnly = netConfig->MonitorOnlyClient ? 1 : 0;
 
-                       config.callbacks            = &g_cecCallbacks;
+                       config.callbacks = &g_cecCallbacks;
                }
 
        public:
@@ -189,7 +188,7 @@ namespace CecSharp
                virtual bool EnableCallbacks(CecCallbackMethods ^ callbacks) override
                {
                        if (m_libCec && CecCallbackMethods::EnableCallbacks(callbacks))
-                               return m_libCec->EnableCallbacks(NULL, &g_cecCallbacks);
+                               return m_libCec->EnableCallbacks((void*)GetCallbackPtr(), &g_cecCallbacks);
 
                        return false;
                }