Browse Source

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

Martin Lang 6 years ago
parent
commit
e32645eb0a
1 changed files with 8 additions and 2 deletions
  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);