| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
| |
|
|
|
|
|
|
| |
The Windows-specific version duplicates some code from
spice_usb_device_equal_libdev(), this commit
switches to using that helper instead.
|
|
|
|
|
|
| |
The Windows-specific version duplicates some code from
spice_usb_device_manager_libdev_match(), this commit
switches to using that helper instead.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Hook to spice-glib events to show the GL scanout.
The opengl context is created with egl, and is currently
x11-only (supporting wayland with bare-egl doesn't seem trivial).
Using GtkGLArea is left for a future series, since SpiceDisplay widget
is a GtkDrawingArea and can't be replaced without breaking
ABI. Furthermore, GtkGLArea won't work on non-egl contexts, so this
approach is necessary on gtk+ < 3.16 or X11 (because gdk/x11 uses glx).
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Acked-by: Victor Toso <victortoso@redhat.com>
Acked-by: Pavel Grunt <pgrunt@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add spice-glib support for gl scanout messages.
A note about SpiceGlScanout: it is struct with scanout details,
registered as a boxed type, with associated gl-scanout property. That
way, it doesn't need a seperate signal for change notification and the
current scanout can be retrieve with gobject getter. Since boxed
property are always duplicated by g_object_get(), an additional
spice_display_get_gl_scanout() method returns the current scanout
without duplication (that's what spice-gtk display widget will use).
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
|
|
|
|
|
|
|
| |
The following code requires epoxy with egl support. Check for pkg-config
and egl headers.
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
|
|
|
|
|
|
| |
Utility function used in the messages with socket ancillary fd.
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
|
|
|
|
|
|
| |
Needed for GL messages
Signed-off-by: Marc-André Lureau <marcandre.lureau@gmail.com>
|
|
|
|
|
|
|
|
|
| |
Seems that I messed up with cd0c1008316e90bce925e1448ffcabb366e88f8f
while rebasing my GTask series on top of this patch, causing a build
breakage due to non-intentional insertion of a GTask replacing a
GSimpleAsyncResult.
Acked-by: Pavel Grunt <pgrunt@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
While "#if USE_FOO" checks for the value of the variable USE_FOO,
"#ifdef" checks whether USE_FOO is defined or not.
It means, if we had something like: #define USE_FOO 0, we would have:
#if USE_FOO
/* Any code in here would NOT be compiled */
#endif
#ifdef USE_FOO
/* Any code in here would be compiled */
#endif
No problem was faced on spice-gtk till now because either USE_FOO is not
defined or defined as 1, but let's try to have it standardized.
Acked-by: Eduardo Lima (Etrunko) <etrunko@redhat.com>
|
|
|
|
|
|
|
|
|
|
| |
For size-allocate, it's simpler to connect to the signal rather than
override the default signal handler since there is no automatic chaining
to parent handler otherwise. Doing this removes the need to have a
window.
Signed-off-by: Marc-André Lureau <marcandre.lureau@gmail.com>
Acked-by: Victor Toso <victortoso@redhat.com>
|
|
|
|
|
|
|
|
|
|
| |
As the message showed when the last usbredir channel is taken can be a
bit confusing, let's add a counter of free channels to the widget's
label.
In order to add the counter, a new property for SpiceUsbDeviceManager
was introduced ("free-channels").
Related: rhbz#1298772
|
|
|
|
|
| |
It's being slowly deprecated in glib
https://bugzilla.gnome.org/show_bug.cgi?id=754687
|
|
|
|
|
|
|
|
| |
This is not really triggered in the current code but this is usually
expected in case of errors; Also, the same function on record side
already does this.
Acked-by: Jonathon Jongsma <jjongsma@redhat.com>
|
|
|
|
|
|
|
| |
This silence usage of deprecated glib declarations from vala generated code.
Signed-off-by: Marc-André Lureau <marcandre.lureau@gmail.com>
Acked-by: Fabiano Fidêncio <fidencio@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is an update to fix build issues with spice-protocol.git.
generated_server_demarshallers.c: In function
‘parse_msgc_display_gl_draw_done’:
generated_server_demarshallers.c:767:23: error:
‘SpiceMsgcDisplayGlDrawDone’ undeclared (first use in this function)
mem_size = sizeof(SpiceMsgcDisplayGlDrawDone);
...
Also needed for upcoming gl-scanout messages.
Signed-off-by: Marc-André Lureau <marcandre.lureau@gmail.com>
Acked-by: Frediano Ziglio <fziglio@redhat.com>
|
|
|
|
|
|
|
| |
It was included in be8ff99571478deb5c8d116134f65ed2b788dbd3 but with no
use.
Acked-by: Marc-André Lureau <mlureau@redhat.com>
|
|
|
|
|
|
| |
Not needed anymore (probably since gnome-rr was removed in 30986505b)
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When using multiple monitors moving mouse between monitors releases
keyboard grab.
Reproduce bug
-Open multiple monitors remote-viewer session
-Click on one of the monitors to get focus & keyboard-grab
-Move mouse to another monitor and try keyboard command (do not click)
At this point all keyboard commands are being executed on the client
machine instead of the remote machine
I added keyboard_has_focus and mouse_has_pointer variables at the
session and now these properties are being tested for the session
instead for the current widget (works also when using alt-tab).
Resolves: rhbz#1275231
Acked-by: Pavel Grunt <pgrunt@redhat.com>
|
|
|
|
|
|
| |
Save screenshot in proper endianess
xRGB on LE machine and BGRx on BE machine
Acked-by: Pavel Grunt <pgrunt@redhat.com>
|
|
|
|
|
| |
Fixes color order on PowerPC when using GLZ image compression.
Acked-by: Pavel Grunt <pgrunt@redhat.com>
|
| |
|
| |
|
|
|
|
|
|
| |
Support only libsasl2 providing libsasl2.pc file
Acked-by: Christophe Fergeau <cfergeau@redhat.com>
|
|
|
|
|
|
|
|
|
| |
spice_marshaller_flush must be called before writing a message to
calculate pointer offsets.
This is only an issue when ptr submarshallers are used, which currently
is only used by Tunnel::service_add. Since this is disabled by default,
this buug is not going to be hit by the current codebase.
|
|
|
|
|
| |
When the GStreamer backend is used, HAVE_GSTAUDIO is defined, not
HAVE_GST_AUDIO.
|
|
|
|
|
|
|
|
| |
e0c2182937 dropped some #include from channel-smartcard.c and spicy.c as
they were redundant with the headers already included from
spice-common/common/messages.h. While this is true for the newer
libcacard.h header, we need to include more headers to support older
libcacard, or compilation breaks.
|
|
|
|
|
|
|
| |
gst_init() will terminate the program in case of a failure so it's
better to use gst_init_check() so we can recover from errors.
Signed-off-by: Francois Gouget <fgouget@codeweavers.com>
|
|
|
|
|
|
|
|
| |
Their absence should not be reported as an error since they are not
needed for the build, but the developer will need them to test the code
so it's appropriate to warn him.
Signed-off-by: Francois Gouget <fgouget@codeweavers.com>
|
|
|
|
| |
Signed-off-by: Francois Gouget <fgouget@codeweavers.com>
|
|
|
|
|
|
|
|
|
|
| |
Rather than GStreamer/PulseAudio backend being mutually exclusive at
compile-time, this commit allows to enable both at the same time.
PulseAudio will then be favoured, with a fallback to GStreamer if it's
not available.
Note that --with-audio is kept for backward compatibility.
Signed-off-by: Francois Gouget <fgouget@codeweavers.com>
|
|
|
|
|
|
| |
Drop unneeded includes (that are already undirectly included).
Signed-off-by: Marc-André Lureau <marcandre.lureau@gmail.com>
|
|
|
|
|
|
| |
Remove gtkrc too, and cleanup EXTRA_DIST ($(desktop_in_files) is unused)
Signed-off-by: Marc-André Lureau <marcandre.lureau@gmail.com>
|
|
|
|
| |
For new libcacard.h usage
|
|
|
|
|
|
|
|
| |
"path" points to "uri" memory, move free(uri) later.
Found thanks to valgrind :)
Signed-off-by: Marc-André Lureau <marcandre.lureau@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The next commit is going to use SPICE_WARNING which was added recently
to spice-common
This submodule update changes:
Christophe Fergeau (5):
build-sys: Add gio-2.0 to SPICE_CHECK_GLIB2
build-sys: Fix error in SPICE_CHECK_LZ4 description
build-sys: Set automake conditional in SPICE_CHECK_SMARTCARD
build-sys: Rename SUPPORT_GL to HAVE_GL
build-sys: Add missing # to comment
Francois Gouget (3):
build-sys: Add the SPICE_WARNING() and SPICE_PRINT_MESSAGES m4 macros
build-sys: Add SPICE_CHECK_GSTREAMER()
build-sys: Add SPICE_CHECK_GSTREAMER_ELEMENTS()
Lukas Venhoda (4):
ssl-verify: Only check addr length when using IP addr
m4: Require glib version >= 2.22
ssl-verify: Changed IPv4 hostname to IPv6
canvas_base: Remove redundant switch case block
|
|
|
|
| |
Signed-off-by: Francois Gouget <fgouget@codeweavers.com>
|
|
|
|
|
|
|
|
| |
This lets us avoid naming conflicts when using GStreamer for other
purposes.
Signed-off-by: Francois Gouget <fgouget@codeweavers.com>
Acked-by: Victor Toso <victortoso@redhat.com>
|
|
|
|
|
|
|
|
|
| |
When a user cancel's a file transfer, we should send a STATUS_CANCELED
message rather than an STATUS_ERROR message. The latter triggers a bug
in the vdagent where the file remains opened by the vdagent in the guest
and cannot be removed.
Signed-off-by: Jonathon Jongsma <jjongsma@redhat.com>
|
|
|
|
|
|
|
|
| |
This patch adds SPICE_CLIENT_ERROR_AUTH_NEEDS_USERNAME error
for the case when authentication fails because of missing username.
This can happen when GSSAPI method is used.
https://bugs.freedesktop.org/show_bug.cgi?id=92994
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Recent changes to file transfer introduced a regression where the client
would crash when rebooting a guest after performing a file transfer.
This was caused because the SpiceFileTransferTask is freed when it is
completed, but is not removed from the MainChannel's hash table. When we
reboot the guest and lose our vdagent connection, we iterate through the
list of tasks in the hash table and complete them. But since we did not
remove the already-completed tasks from this hash table, this hash table
contains already-freed memory.
To fix the issue, take an extra ref for the async operations (so that
completing the task won't free an object that is stored in the hash table). In
addition, connect to the task's "finished" signal and remove it from the hash
table when it becomes finished.
Bug reported via email by Jay.han <ezzzehxx@gmail.com>. Valgrind report
below:
==6926== Invalid read of size 8
==6926== at 0x508177B: spice_file_transfer_task_completed (channel-main.c:2941)
==6926== by 0x50846DC: set_agent_connected (channel-main.c:462)
==6926== by 0x5073A43: spice_channel_recv_msg (spice-channel.c:1892)
==6926== by 0x5073BE3: spice_channel_iterate_read (spice-channel.c:2132)
==6926== by 0x5075D25: spice_channel_coroutine (spice-channel.c:2170)
==6926== by 0x50A6EFE: coroutine_trampoline (coroutine_ucontext.c:63)
==6926== by 0x50A6CC8: continuation_trampoline (continuation.c:55)
==6926== by 0x65C2B5F: ??? (in /lib/x86_64-linux-gnu/libc-2.19.so)
==6926== by 0x151331C7: ???
==6926== Address 0x29971fd8 is 168 bytes inside a block of size 184 free'd
==6926== at 0x4C2BDEC: free (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==6926== by 0x5E33142: g_type_free_instance (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.4000.0)
==6926== by 0x50815DA: file_xfer_close_cb (channel-main.c:1826)
==6926== by 0x5AEBD5C: ??? (in /usr/lib/x86_64-linux-gnu/libgio-2.0.so.0.4000.0)
==6926== by 0x5B0F41A: ??? (in /usr/lib/x86_64-linux-gnu/libgio-2.0.so.0.4000.0)
==6926== by 0x5B0F438: ??? (in /usr/lib/x86_64-linux-gnu/libgio-2.0.so.0.4000.0)
==6926== by 0x609BCE4: g_main_context_dispatch (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.4000.0)
==6926== by 0x609C047: ??? (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.4000.0)
==6926== by 0x609C309: g_main_loop_run (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.4000.0)
==6926== by 0x4058AB: main (spicy.c:1858)
|
|
|
|
|
| |
Signed-off-by: Francois Gouget <fgouget@codeweavers.com>
Acked-by: Christophe Fergeau <cfergeau@redhat.com>
|
|
|
|
|
|
| |
*data must always be set to NULL on error.
Signed-off-by: Francois Gouget <fgouget@codeweavers.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When channel wants to send much more data then the wire can handle, the
queue grows fast. This patch does not limit the queue growth but
introduces an internal API to check if queue size is too big.
This internal API is used in usbredir_buffered_output_size_callback
which is called before any isoc pacaket is queued in usbredir. The
usbredir implements the logic to:
- only drop isoc packets
- while dropping packtes does still give us video frames from and above
10fps streams
An easy way to test locally is sharing and webcam and with tc:
tc qdisc add dev lo root netem delay 100ms
tc qdisc change dev lo root netem delay 1000ms
tc qdisc del dev lo root netem
Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1264156
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This commit updates spice-common to latest git master.
Since the argument to the SPICE_CHECK_xxx macros is now unused, it's
cleaner to remove it.
Christophe Fergeau (3):
Add marshaller test case
build-sys: Use ${PKG_CONFIG} rather than pkg-config
build-sys: Rework SPICE_CHECK_* m4 macros
Frediano Ziglio (1):
common: Fix typo in comment
Javier Celaya (1):
Fix linearization of several marshallers with one item
|
|
|
|
|
| |
This isn't terribly useful for general debugging and makes the log
pretty noisy when transferring large files.
|