diff options
author | CoprDistGit <infra@openeuler.org> | 2024-08-01 14:37:51 +0000 |
---|---|---|
committer | CoprDistGit <infra@openeuler.org> | 2024-08-01 14:37:51 +0000 |
commit | 0aa99252cc633d1db8168d2b906897732501de73 (patch) | |
tree | 041e58384e653295cdcf1abcfc79284f52556b5f /print-notifications-clear-in-stop.patch | |
parent | 386538c10d1c6112655012809595cad41478b5ec (diff) |
automatic import of gnome-settings-daemonopeneuler24.03_LTS
Diffstat (limited to 'print-notifications-clear-in-stop.patch')
-rw-r--r-- | print-notifications-clear-in-stop.patch | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/print-notifications-clear-in-stop.patch b/print-notifications-clear-in-stop.patch new file mode 100644 index 0000000..649defd --- /dev/null +++ b/print-notifications-clear-in-stop.patch @@ -0,0 +1,45 @@ +--- gnome-settings-daemon-40.0.1/plugins/print-notifications/gsd-print-notifications-manager.c ++++ gnome-settings-daemon-40.0.1/plugins/print-notifications/gsd-print-notifications-manager.c +@@ -1268,6 +1268,7 @@ scp_handler (GsdPrintNotificationsManage + kill (manager->scp_handler_pid, SIGHUP); + g_spawn_close_pid (manager->scp_handler_pid); + manager->scp_handler_spawned = FALSE; ++ manager->scp_handler_pid = -1; + } + } + +@@ -1636,8 +1636,10 @@ gsd_print_notifications_manager_stop (Gs + manager->check_source_id = 0; + } + +- if (manager->subscription_id >= 0) ++ if (manager->subscription_id >= 0) { + cancel_subscription (manager->subscription_id); ++ manager->subscription_id = -1; ++ } + + g_clear_pointer (&manager->printing_printers, g_hash_table_destroy); + +@@ -1649,6 +1651,7 @@ gsd_print_notifications_manager_stop (Gs + g_source_remove (data->timeout_id); + } + g_list_free_full (manager->timeouts, free_timeout_data); ++ manager->timeouts = NULL; + + for (tmp = manager->active_notifications; tmp; tmp = g_list_next (tmp)) { + reason_data = (ReasonData *) tmp->data; +@@ -1665,12 +1668,14 @@ gsd_print_notifications_manager_stop (Gs + } + } + g_list_free_full (manager->active_notifications, free_reason_data); ++ manager->active_notifications = NULL; + + for (tmp = manager->held_jobs; tmp; tmp = g_list_next (tmp)) { + job = (HeldJob *) tmp->data; + g_source_remove (job->timeout_id); + } + g_list_free_full (manager->held_jobs, free_held_job); ++ manager->held_jobs = NULL; + + scp_handler (manager, FALSE); + } |