@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.
@@ -6726,14 +6726,20 @@
6726
6726
  gobj_send_event(gobj, iev_event, iev_kw, gobj);
6727
6727
  return 0;
6728
6728
  }
6729
- let gobj_service = gobj_find_service(iev_dst_service, true);
6730
- if (gobj_service) {
6731
- if (gobj_has_event(gobj_service, iev_event, event_flag_t.EVF_PUBLIC_EVENT)) gobj_send_event(gobj_service, iev_event, iev_kw, gobj);
6732
- else {
6729
+ if (!empty_string(iev_dst_service)) {
6730
+ let gobj_service = gobj_find_service(iev_dst_service, false);
6731
+ if (!gobj_service) {
6732
+ log_warning(`${gobj_short_name(gobj)}: event for a service that is gone, DROPPED: service '${iev_dst_service}', ev '${iev_event}'`);
6733
+ return 0;
6734
+ }
6735
+ if (!gobj_has_event(gobj_service, iev_event, event_flag_t.EVF_PUBLIC_EVENT)) {
6733
6736
  log_error(`${gobj_short_name(gobj)}: Service found but no event or not public, service '${gobj_short_name(gobj_service)}', ev '${iev_event}'`);
6734
6737
  return -1;
6735
6738
  }
6736
- } else if (gobj_is_pure_child(gobj)) gobj_send_event(gobj_parent(gobj), iev_event, iev_kw, gobj);
6739
+ gobj_send_event(gobj_service, iev_event, iev_kw, gobj);
6740
+ return 0;
6741
+ }
6742
+ if (gobj_is_pure_child(gobj)) gobj_send_event(gobj_parent(gobj), iev_event, iev_kw, gobj);
6737
6743
  else gobj_publish_event(gobj, iev_event, iev_kw);
6738
6744
  return 0;
6739
6745
  }