@yuneta/gobj-js 7.16.0 → 7.16.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -6722,14 +6722,20 @@ function ac_on_message(gobj, event, kw, src) {
6722
6722
  gobj_send_event(gobj, iev_event, iev_kw, gobj);
6723
6723
  return 0;
6724
6724
  }
6725
- let gobj_service = gobj_find_service(iev_dst_service, true);
6726
- if (gobj_service) {
6727
- if (gobj_has_event(gobj_service, iev_event, event_flag_t.EVF_PUBLIC_EVENT)) gobj_send_event(gobj_service, iev_event, iev_kw, gobj);
6728
- else {
6725
+ if (!empty_string(iev_dst_service)) {
6726
+ let gobj_service = gobj_find_service(iev_dst_service, false);
6727
+ if (!gobj_service) {
6728
+ log_warning(`${gobj_short_name(gobj)}: event for a service that is gone, DROPPED: service '${iev_dst_service}', ev '${iev_event}'`);
6729
+ return 0;
6730
+ }
6731
+ if (!gobj_has_event(gobj_service, iev_event, event_flag_t.EVF_PUBLIC_EVENT)) {
6729
6732
  log_error(`${gobj_short_name(gobj)}: Service found but no event or not public, service '${gobj_short_name(gobj_service)}', ev '${iev_event}'`);
6730
6733
  return -1;
6731
6734
  }
6732
- } else if (gobj_is_pure_child(gobj)) gobj_send_event(gobj_parent(gobj), iev_event, iev_kw, gobj);
6735
+ gobj_send_event(gobj_service, iev_event, iev_kw, gobj);
6736
+ return 0;
6737
+ }
6738
+ if (gobj_is_pure_child(gobj)) gobj_send_event(gobj_parent(gobj), iev_event, iev_kw, gobj);
6733
6739
  else gobj_publish_event(gobj, iev_event, iev_kw);
6734
6740
  return 0;
6735
6741
  }