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