mirror of
https://gitlab.uni-freiburg.de/opensourcevdi/virt-viewer
synced 2025-12-27 23:00:54 +00:00
events: allow to remove disabled timers and handles
Trying to remove a disabled timer or handle will cause
virt_viewer_events_remove_{handle,timeout}() to return an error
rather than removing it.
Based on commit 79699d73e6e1b7218e3bd8349d176752f86128b9 from
libvirt-glib.
Original author: Christophe Fergeau <cfergeau@redhat.com>
Related to: rhbz#1243228
This commit is contained in:
parent
3281c47e8b
commit
4ec75ee70c
@ -233,12 +233,11 @@ virt_viewer_events_remove_handle(int watch)
|
||||
|
||||
g_debug("Remove handle %d %d", watch, data->fd);
|
||||
|
||||
if (!data->source)
|
||||
goto cleanup;
|
||||
|
||||
g_source_remove(data->source);
|
||||
data->source = 0;
|
||||
data->events = 0;
|
||||
if (data->source != 0) {
|
||||
g_source_remove(data->source);
|
||||
data->source = 0;
|
||||
data->events = 0;
|
||||
}
|
||||
|
||||
/* since the actual watch deletion is done asynchronously, a update_handle call may
|
||||
* reschedule the watch before it's fully deleted, that's why we need to mark it as
|
||||
@ -409,11 +408,10 @@ virt_viewer_events_remove_timeout(int timer)
|
||||
|
||||
g_debug("Remove timeout %p %d", data, timer);
|
||||
|
||||
if (!data->source)
|
||||
goto cleanup;
|
||||
|
||||
g_source_remove(data->source);
|
||||
data->source = 0;
|
||||
if (data->source != 0) {
|
||||
g_source_remove(data->source);
|
||||
data->source = 0;
|
||||
}
|
||||
|
||||
/* since the actual timeout deletion is done asynchronously, a update_timeout call may
|
||||
* reschedule the timeout before it's fully deleted, that's why we need to mark it as
|
||||
|
||||
Loading…
Reference in New Issue
Block a user