Explorar o código

Fix read attribute EventNotifier from Object or View since Events support (#1985)

Martin Lang %!s(int64=6) %!d(string=hai) anos
pai
achega
e32645eb0a
Modificáronse 1 ficheiros con 8 adicións e 2 borrados
  1. 8 2
      src/server/ua_services_attribute.c

+ 8 - 2
src/server/ua_services_attribute.c

@@ -261,8 +261,14 @@ ReadWithNode(const UA_Node *node, UA_Server *server, UA_Session *session,
         break;
     case UA_ATTRIBUTEID_EVENTNOTIFIER:
         CHECK_NODECLASS(UA_NODECLASS_VIEW | UA_NODECLASS_OBJECT);
-        setScalarNoDelete(&v->value, &((const UA_ViewNode*)node)->eventNotifier,
-                          &UA_TYPES[UA_TYPES_BYTE]);
+        if(node->nodeClass == UA_NODECLASS_VIEW) {
+            setScalarNoDelete(&v->value, &((const UA_ViewNode*)node)->eventNotifier,
+                              &UA_TYPES[UA_TYPES_BYTE]);
+        }
+        else{
+            setScalarNoDelete(&v->value, &((const UA_ObjectNode*)node)->eventNotifier,
+                              &UA_TYPES[UA_TYPES_BYTE]);
+        }
         break;
     case UA_ATTRIBUTEID_VALUE: {
         CHECK_NODECLASS(UA_NODECLASS_VARIABLE | UA_NODECLASS_VARIABLETYPE);