Activity
-
Newest first Oldest first
-
Show all activity Show comments only Show history only
- Author
icy..@..ck.com said:Debug log shows the cycling happening:
gs_job_start] gs-job.c:453 (14:01:50.943): Starting job [gs_manager_cycle] gs-manager.c:353 (14:02:50.909): Cycling jobs [gs_job_stop] gs-job.c:499 (14:02:50.909): Stopping job [gs_job_died] gs-job.c:124 (14:02:50.909): Waiting on process 7103 [gs_job_died] gs-job.c:138 (14:02:50.928): Job finished [manager_maybe_start_job_for_window] gs-manager.c:175 (14:02:50.928): Starting job for window [gs_job_start] gs-job.c:453 (14:02:50.928): Starting job [gs_job_stop] gs-job.c:499 (14:02:50.930): Stopping job [gs_job_died] gs-job.c:124 (14:02:50.930): Waiting on process 7104 [gs_job_died] gs-job.c:138 (14:02:50.937): Job finished [manager_maybe_start_job_for_window] gs-manager.c:175 (14:02:50.937): Starting job for window [gs_job_start] gs-job.c:453 (14:02:50.937): Starting job [gs_job_stop] gs-job.c:499 (14:02:50.938): Stopping job [gs_job_died] gs-job.c:124 (14:02:50.938): Waiting on process 7105 [gs_job_died] gs-job.c:138 (14:02:50.945): Job finished [manager_maybe_start_job_for_window] gs-manager.c:175 (14:02:50.945): Starting job for window [gs_job_start] gs-job.c:453 (14:02:50.945): Starting job [gs_manager_cycle] gs-manager.c:353 (14:03:50.910): Cycling jobs [gs_job_stop] gs-job.c:499 (14:03:50.910): Stopping job
However, inspecting the actual processes, the same process (e.g. /usr/lib/xscreensaver/galaxy -root) is started every time.
Looking at the code (gs-manager.c:163), I see this:
job = g_hash_table_lookup (manager->priv->jobs, window);
so looks like the job is fixed per window.
The jobs are refreshed on activate, since hash table is re-created (gs-manager.c:1263). Themes are set only on job creation in gs_job_set_theme (gs-job.c:244).
- Sean Davis added Bug label
added Bug label
- Contributor
I can reproduce this on Ubuntu 21.04 with xfce4-screensaver 4.16.0.
- Gaël Bonithon unassigned @bluesabre
unassigned @bluesabre
Did some poking and made a two line fix. Here's the git-diff
index 5545dce..f34365d 100644 --- a/src/gs-manager.c +++ b/src/gs-manager.c @@ -181,6 +181,8 @@ cycle_job (GSWindow *window, GSJob *job, GSManager *manager) { gs_job_stop (job); + job = gs_job_new_for_widget (gs_window_get_drawing_area (window)); + manager_add_job_for_window (manager, window, job); manager_maybe_start_job_for_window (manager, window); }
Collapse replies - Maintainer
Thanks @NeoT, that's indeed part of the problem, but this feature needs a bit more review, I'll take care of it.
- Maintainer
In fact, there wasn't much more to do, but it had to be done a little differently. Thanks for the suggestion anyway :)
- Gaël Bonithon assigned to @Tamaranch
assigned to @Tamaranch
- Gaël Bonithon changed milestone to %4.18.3
changed milestone to %4.18.3
- Gaël Bonithon closed with commit 0b36371c
closed with commit 0b36371c
- Gaël Bonithon marked #144 as a duplicate of this issue
marked #144 as a duplicate of this issue
- Gaël Bonithon marked this issue as related to #144
marked this issue as related to #144
- Gaël Bonithon mentioned in issue #144
mentioned in issue #144