Age | Commit message (Collapse) | Author | Files | Lines |
|
Use a anchor mouse position after every move, similar to spicec to
avoid reaching transparent border on the screen.
We try to move to the center of the screen, but
gdk_display_warp_pointer () will move the cursor within the grabbed
window (so it still receives mouse events even on Windows)
Tested with Linux and Windows clients.
Fixes bug: https://bugs.freedesktop.org/show_bug.cgi?id=45595
|
|
Without keepalive on each connection(channel), channel is destroyed
after ip_conntrack_tcp_timeout_established timeout.
https://bugs.freedesktop.org/show_bug.cgi?id=45899
|
|
Until now, the BIO object used by openssl to read & write was using
the socket fd directly. But the mainloop integration is done with
GSocket.
On Windows, the read/write events are cleared after
g_socket_send()/receive() with private function
_win32_unset_event_mask. If the glib functions aren't cleared, glib
source will keep notifying of data available in or out. On Windows,
this causes a busy loop when doing SSL_read() for example (glib
POLL_IN data condition is reached and SSL_read() return needs data).
Instead, openssl should read/write using GSocket methods.
|
|
If connecting to a UNIX domain socket, it is expected that the
setsockopt(TCP_NDELAY) call will fail with errno=ENOTSUP, so don't
issue a warning in that case
|
|
|
|
Add a "zoom-level" property. Maintain the given scaling ratio when
scaling is enabled.
If scaling is disabled, this property is ignored.
For example at 50%, this allows to fit a 640x480 desktop in a 320x240
widget and when resizing it to 640x512 to have a 1280x1024 desktop.
(this feature is required by virt-viewer)
|
|
Factor out and simplify a little the code to allow easier addition of
zoom-level property.
The "set_display" parameter for recalc_geometry() seems to be useless,
since the code was apparently trying to set the guest to the given
d->width and d->height, but reseting it to the current value, which
cancel the effect.
We should fix the problem of setting the guest resolution at
display-init time in a follow-up patch since it probably never worked
with spice-gtk.
|
|
To avoid a few warnings in some corner cases.
|
|
Add an agent capability check before calling those functions from
gtk-session. Avoid extra warnings.
|
|
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
|
|
This patch adds a SpiceUsbDeviceWidget which apps can use to easily
add an UI to select USB devices to redirect (or unredirect).
See spicy for an example usage.
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
|
|
The strings returned by devices sometimes can benefit from some clean-up.
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
|
|
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
|
|
Josh Bressers has been so kind to review the usb-acl-helper for possible
security issues. One of his recomendations was to ensure that the file
we're setting the acl on is a chardev.
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
|
|
Not really important given the short livedness of the process, but
still should be fixed.
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
|
|
Josh Bressers has been so kind to review the usb-acl-helper for possible
security issues. One of his recomendations was to harden the usb-acl-helper
by building it as a Position Independent Executable.
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
|
|
Currently, usb redirection and policykit are enabled by default,
and configure will error out if the required dependencies cannot
be found. This commit changes the default behaviour, by default
usb redirection/policykit support is automatically enabled/disabled
depending on the availability of the needed dependencies. Passing
--enable-usbredir will error out if the dependencies for usb
redirection cannot be found, ditto for policykit. This should make
things nicer for people running configure or autogen.sh with no
argument.
|
|
This options will help us tune and find the optimal values.
|
|
Set the default sizes to be the same as in the old linux spice client.
cache_size=20M pixels (instead of 32M), window_size=8M pixels for a 64MB
dev ram (instead of 16M pixels).
|
|
Add a wrapper file for named pipe and socket listener, so we can release
tarball with code compatible with windows and unix.
|
|
It seems Gtk is lacking a way to cancel a gtk_clipboard_request_*().
Although it seems like gtk_selection_remove_all() would solve that
problem, it will have nasty effect of destroying other pending
requests from others..
Let's make use of an extra weak reference object that will be nulled
when the session is destroyed.
This should help solving the follwing bug:
https://bugzilla.redhat.com/show_bug.cgi?id=743773
|
|
This solves clipboard sharing not working with a password protected
server, since new main channel are created for each connection
attempt.
|
|
|
|
spice_msg_out can be not only called from system context and usb event
handling thread context, but also from co-routine context. Calling from
co-routine context happens when a response gets send synchronously from
the handle_msg handler for a certain received packet. This happens with
certain usbredir commands.
This triggers the following assert in the coroutine code:
"GSpice-CRITICAL **: g_coroutine_wakeup: assertion `coroutine !=
g_coroutine_self()' failed"
This patch fixes this by making spice_msg_out_send callable from any
context and at the same time changing the code to not do unnecessary
wakeups.
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
|
|
rpmlint pointed this out while I was checking the new spice-gtk-0.8 package
for Fedora.
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
|
|
spice_audio_new can return a NULL pointer when there's a failure
during the initialization of the audio system. When this happens,
we shouldn't keep initializing the spice audio channel as if nothing
happened, but just stop the connection.
This can be tested by forcing the "self" variable to NULL in
spice_audio_new
This should fix https://bugzilla.redhat.com/show_bug.cgi?id=772118
|
|
|
|
|
|
Note this patch adds a default filter filtering out HID devices, since
redirecting ie a mouse plugged into a laptop is usually not what the user
wants. Also sometimes usb keyboards/mice may experience a glitch causing
them to temporarily drop of the bus. If this happens when the spice-client
has focussed it used to redirect them to the vm when they re-appeared,
not good!
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
|
|
|
|
|
|
This fix a hang on an image lookup that has already been remved. It
only happens in multihead, when stressing a bit the displays.
The decoder assumed that the last added images is the tail of the
window. However, there are "gaps" in the window that will be filled by
other channels. Instead of taking the last added image as the current
up to date tail, let's take the reference to the last image before the
first gap as the up to date tail, and release from there.
The spicec code does things differently, perhaps it needs slightly
less memory at the cost of added complexity by maintaining list of
missing images and much more conditions/synchronization.
|
|
Make sure the display has the focus before grabing the keyboard for
the application.
|
|
https://bugs.freedesktop.org/show_bug.cgi?id=44570
|
|
https://bugs.freedesktop.org/show_bug.cgi?id=44570
|
|
https://bugs.freedesktop.org/show_bug.cgi?id=44570
|
|
Use the common g_coroutine_socket_wait()
https://bugs.freedesktop.org/show_bug.cgi?id=44570
|
|
https://bugs.freedesktop.org/show_bug.cgi?id=44570
|
|
https://bugs.freedesktop.org/show_bug.cgi?id=44570
|
|
We try several connections, so it's normal to fail for some.
No need to warn.
https://bugs.freedesktop.org/show_bug.cgi?id=44570
|
|
Needed to build on RHEL6
|
|
|
|
Required to build on RHEL, even upcoming 6.3
|
|
|
|
Don't send/receive serial and sub_list when the server supports the
above cap.
|
|
|
|
https://bugs.freedesktop.org/show_bug.cgi?id=44179
|
|
https://bugs.freedesktop.org/show_bug.cgi?id=44179
|
|
|
|
|