Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Tray module causes: Invalid id passed to g_bus_unwatch_name() #2217

Merged
merged 2 commits into from
Jun 6, 2023

Conversation

LukashonakV
Copy link
Contributor

When Waybar exit in the log I see:
ps_2023-06-06-23_18_51
(waybar:25493): GLib-GIO-WARNING **: 22:57:40.825: Invalid id 2 passed to g_bus_unwatch_name()

Investigation shows: Tray module constructor calls :

  1. watcher constructor
  2. host constructor
    In the same time both base classes(watcher and host) keeps information about cross resources. Watcher instance has got information about host and watcher either. The same for host class..
    So when time to destruct instances, both watcher and host are trying to destroy cross resources. In such case : watcher may kill host resource earlier then host destruction is called and vise versa for host class.
    This PR splits resource destruction between base classes. Host now destruct only host objects, watcher - watchers objects.

Actually I didn't find any other dependencies where these base classes are used separately without each other.

Signed-off-by: Viktar Lukashonak <myxabeer@gmail.com>
Signed-off-by: Viktar Lukashonak <myxabeer@gmail.com>
@Alexays
Copy link
Owner

Alexays commented Jun 6, 2023

Thanks @LukashonakV you rock!

@Alexays Alexays merged commit 070110a into Alexays:master Jun 6, 2023
@LukashonakV LukashonakV deleted the g_bus_unwatch_name branch June 6, 2023 20:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants