mirror of
https://gitlab.uni-freiburg.de/opensourcevdi/spice-gtk
synced 2026-02-03 20:30:35 +00:00
Create it on SPICE_PORT_EVENT_OPENED From g_cancellable_reset documentation: Note that it is generally not a good idea to reuse an existing cancellable for more operations after it has been cancelled once, as this function might tempt you to do. The recommended practice is to drop the reference to a cancellable after cancelling it, and let it die with the outstanding async operations. You should create a fresh cancellable for further async operations In our case reusing the cancellable leads to a crash: #0 0x00007ffff1662940 in g_task_return_error () at /lib64/libgio-2.0.so.0 #1 0x00007ffff1662b60 in g_task_return_new_error () at /lib64/libgio-2.0.so.0 #2 0x00007ffff57916e0 in read_cancelled (cancellable=<optimized out>, user_data=<optimized out>) at vmcstream.c:182 #3 0x00007ffff1391555 in g_closure_invoke () at /lib64/libgobject-2.0.so.0 #4 0x00007ffff13a4062 in signal_emit_unlocked_R () at /lib64/libgobject-2.0.so.0 #5 0x00007ffff13acf5f in g_signal_emit_valist () at /lib64/libgobject-2.0.so.0 #6 0x00007ffff13ad33f in g_signal_emit () at /lib64/libgobject-2.0.so.0 #7 0x00007ffff16100d8 in g_cancellable_cancel () at /lib64/libgio-2.0.so.0 #8 0x00007ffff5775c01 in port_event (self=0xc7af60, event=1) at channel-webdav.c:512 #9 0x00007ffff1391555 in g_closure_invoke () at /lib64/libgobject-2.0.so.0 #10 0x00007ffff13a445d in signal_emit_unlocked_R () at /lib64/libgobject-2.0.so.0 #11 0x00007ffff13acf5f in g_signal_emit_valist () at /lib64/libgobject-2.0.so.0 #12 0x00007ffff577479a in emit_main_context (opaque=0x7fffa5fff8d0) at gio-coroutine.c:200 #13 0x00007ffff10b7847 in g_idle_dispatch () at /lib64/libglib-2.0.so.0 #14 0x00007ffff10bade2 in g_main_context_dispatch () at /lib64/libglib-2.0.so.0 #15 0x00007ffff10bb160 in g_main_context_iterate.isra () at /lib64/libglib-2.0.so.0 #16 0x00007ffff10bb20c in g_main_context_iteration () at /lib64/libglib-2.0.so.0 #17 0x00007ffff1677d2d in g_application_run () at /lib64/libgio-2.0.so.0 #18 0x000000000041031a in main (argc=2, argv=0x7fffffffd928) at remote-viewer-main.c:42 Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=97113 |
||
|---|---|---|
| build-aux | ||
| data | ||
| doc | ||
| m4 | ||
| man | ||
| po | ||
| spice-common@62f3024f42 | ||
| src | ||
| tests | ||
| vapi | ||
| .gitmodules | ||
| .mailmap | ||
| AUTHORS | ||
| autogen.sh | ||
| configure.ac | ||
| COPYING | ||
| git.mk | ||
| Makefile.am | ||
| NEWS | ||
| README | ||
| spice-client-glib-2.0.pc.in | ||
| spice-client-gtk-3.0.pc.in | ||
| spice-controller.pc.in | ||
| TODO | ||
spice-gtk
=========
A Gtk client and libraries for SPICE remote desktop servers.
Please report bugs at: spice-devel@lists.freedesktop.org
Project content
---------------
libspice-client-glib-2.0
provides glib objects for spice protocol decoding and surface rendering.
* SpiceSession (see spice-session.h).
* SpiceChannel (see spice-channel.h).
* SpiceAudio (see spice-audio.h).
* Various Spice<Type>Channel (see channel-<type>.h).
libspice-client-gtk-3.0
provides gtk widget to show spice display and accept user input.
* SpiceDisplay (see spice-widget.h)
spicy
a gtk test client. The recommended client for end user is
virt-viewer (http://git.fedorahosted.org/cgit/virt-viewer.git/)
spicy-screenshot
Command line tool, connects to spice server and writes out a
screen shot.
spicy-stats
Command line tool, connects to spice server and writes out a
summary of connection details, amount of bytes transferred...
SpiceClientGlib and SpiceClientGtk GObject-introspection modules.
Build dependencies:
------------------
. On Fedora use:
dnf builddep spice-gtk
. or install:
gtk3-devel spice-protocol intltool
openssl-devel pulseaudio-libs-devel pixman-devel
gobject-introspection-devel libjpeg-turbo-devel zlib-devel
cyrus-sasl-devel gtk-doc
. The GStreamer backend needs:
gstreamer1-devel gstreamer1-plugins-base-devel gstreamer1-plugins-good gstreamer1-plugins-bad-free
. If you build from git, you'll also need:
libtool automake vala vala-tools perl-Text-CSV