| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
| |
With el6 now shipping glib 2.28, there is no very good reason to keep
support for older glib versions alive, especially as it will barely be
tested.
|
|
|
|
|
|
|
|
|
|
| |
Based on Christophe Fergeau's patch.
To enable audio with GStreamer 1.0: --with-audio=gstreamer1
There is only a few changes between those versions, worth mentioning:
- audio capabilities "audio/x-raw,format=..." instead of
"audio/x-raw-int,..."
- appsink signal for new data changed from "new-buffer" to "new-sample"
|
|
|
|
|
|
|
| |
gnulib 'make syntax-check' prohibits use of #ifdef HAVE_CONFIG_H so this
commit removes it from where it's used. It also makes sure we always use
the same syntax for including config.h (#include "config.h" VS #include
<config.h>) as a consistent way of doing that is expected.
|
|
|
|
|
|
| |
They were never translated from .in files to actual files, and now it's
clear we don't want to promote spicy as a first-class desktop
application.
|
| |
|
|
|
|
|
| |
const guint16 const * has one extra 'const' which is removed by that
commit
|
| |
|
| |
|
|
|
|
|
| |
gnulib's make syntax-check comes with a rule enforcing that Red Hat
copyright lines contain both "(C)" and "Copyright".
|
| |
|
|
|
|
|
| |
They are not portable, it's recommended to use test && test or test ||
test instead
|
| |
|
| |
|
| |
|
|
|
|
|
| |
- disable-static: it's quite uncommon to use static build of gtk libraries
- win32-dll: the shared libs build cleanly for win32 already
|
|
|
|
|
|
|
|
|
|
| |
Some symbols were manually added to these files not in the right place
(non-alphabetical order). This causes spurious diffs when trying to
compare these files with the ones make update-symbol-files would
generate.
This commit syncs these file with the ones which are autogenerated to
spot more easily differences between the file in git and the
autogenerated one.
|
|
|
|
|
| |
Without that, it will fail to parse:
GType spice_uri_get_type(void) G_GNUC_CONST;
|
|
|
|
| |
It's not meant to be exported as it's not listed in spice-gtk symbol map file.
|
|
|
|
| |
It was only added to map-file.
|
|
|
|
| |
This picks up some warning fixes.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Commit a8f2e2d added recomputation of the length of clipboard data to
strip the trailing \0 in order to avoid a Windows gtk+ bug. However it's
doing it too for non-text data, which causes issues when copying images
as they are very likely to contain \0 within their data. They will thus
be truncated.
This fixes https://bugzilla.redhat.com/show_bug.cgi?id=1154719
|
|
|
|
|
|
| |
This is in preparation for fixing a regression in image copy&paste. This
commit only introduces a new (unused) block and reindent the
corresponding code, it can easily be reviewed with git show -w
|
| |
|
| |
|
| |
|
|
|
|
| |
Whenever the symbols files are modified, rebuild the library.
|
| |
|
|
|
|
| |
As it is for now, the micro number is never checked.
|
|
|
|
|
|
| |
Let's avoid confusion of multiple pointers visible on the client
desktop: hide the guest pointer if the spice client doesn't have the
grab, display it again when the grab is taken back.
|
|
|
|
|
|
|
|
| |
On ungrab, the transition from remote (server-side) cursor to host
cursor makes it jump somewhere else rather than staying at the same
place. Restore cursor position on ungrab to match with guest position.
https://bugs.freedesktop.org/show_bug.cgi?id=85117
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
An audio SpiceChannel can get several times the 'start' message during
its lifetime. If received multiple times (for example when rebooting a
VM), this would lead to a SndCodec leak as reported by valgrind:
==7749== 27,036 (48 direct, 26,988 indirect) bytes in 1 blocks are definitely lost in loss record 11,418 of 11,440
==7749== at 0x4A08946: calloc (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
==7749== by 0x5772A9A: spice_malloc0 (mem.c:109)
==7749== by 0x5772D42: spice_malloc0_n (mem.c:173)
==7749== by 0x57FB3E2: snd_codec_create (snd_codec.c:267)
==7749== by 0x573774C: playback_handle_start (channel-playback.c:380)
==7749== by 0x5721E44: spice_channel_handle_msg (spice-channel.c:2859)
==7749== by 0x571ECB3: spice_channel_recv_msg (spice-channel.c:1877)
==7749== by 0x571F402: spice_channel_iterate_read (spice-channel.c:2114)
==7749== by 0x571F614: spice_channel_iterate (spice-channel.c:2152)
==7749== by 0x5720411: spice_channel_coroutine (spice-channel.c:2429)
==7749== by 0x575CD3A: coroutine_trampoline (coroutine_ucontext.c:63)
==7749== by 0x575C9F4: continuation_trampoline (continuation.c:55)
==7749== by 0x3898E47FEF: ??? (in /usr/lib64/libc-2.20.so)
==7749== by 0xAED547666C92C2FF: ???
==7749== by 0xFFEFFF92F: ???
|
|
|
|
|
|
| |
Fixes these noisy errors on Fedora 21:
gcc: warning: switch '-Wmudflap' is no longer supported
|
|
|
|
|
| |
Based on a patch from Dietmar Maurer <dietmar@proxmox.com>
http://lists.freedesktop.org/archives/spice-devel/2013-October/015138.html
|
|
|
|
|
| |
SPICE_CLIENT_ERROR_AUTH_* will be used to set more detailed errors
with respect to the main channel event SPICE_CHANNEL_ERROR_AUTH.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Since commit 9cf9ca434, spice_channel_iterate() will report a
SPICE_CHANNEL_ERROR_IO error to library users when
SpiceChannel::has_error is set. In particular, when the server side
closes its SPICE sockets because the VM is being shut down, an IO error
will get reported. Prior to this change, a channel-closed event was
reported on graceful VM shutdowns as there was
a g_socket_condition_check() guarding the emission of the IO error
signal.
This commit readds the g_socket_condition_check() test, but only when
SpiceChannel::has_error is set.
This fixes https://bugs.freedesktop.org/show_bug.cgi?id=83692
|
| |
|
|
|
|
|
| |
Allow to drag and drop, from host to guest, more than one file at the
same time.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
GError variables must be set to NULL before passing them to a function
which might set them.
This fixes the runtime warning reported in rhbz#1138195:
(remote-viewer.exe:3896): GLib-WARNING **: GError set over the top of a
previous GError or uninitialized memory.
This indicates a bug in someone's code. You must ensure an error is NULL
before it's set.
The overwriting error message was: handle_dev_change: Error getting
device list from libusb: Other error [-99]
|
|
|
|
|
|
|
|
|
|
| |
Make sure we send a xfer data message for 0-size files.
This avoid leaking file descriptiors in guest agent when
copying such files.
Reported-by: Cody Chan <int64ago@gmail.com>
https://bugzilla.redhat.com/show_bug.cgi?id=1135099
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When the first display is disabled and the vdagent is restarted in the guest,
it sometimes becomes enabled. This appears to be caused by a race condition
when an agent becomes connected. When the agent becomes connected, virt-viewer
triggers a display update (spice_main_send_monitor_config()). This display
update happens in a timeout handler, but the timeout interval is set to 0 (so
it behaves basically like an idle handler).
The race happens because spice_main_send_monitor_config() behaves slightly
differently depending on the agent's capabilities. And sometimes the idle
handler runs before the client and server have negotiated capabilities. In this
case, we have to assume that the server does not support sparse monitor
configurations. So instead of sending down an update where display #0 is off
and display #1 is WxH, we send down an update that only a single display:
display #0 is WxH. This results in the first display becoming enabled.
To solve the issue, we wait until the agent negotiates capabilities
before sending the display configuration message.
Resolves: rhbz#1043782, rhbz#1032923
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Since v0.21-35-gbaa51c5, there are some new coroutine preconditions.
The winfiber implementation can reach, when the structure isn't cleared,
which happens when switching channel connection to TLS port and the
coroutine is recycled.
CRITICAL **: coroutine_yieldto: assertion '!to->exited' failed
In a near future, it would be nice to use the safer implementation
proposed for glib, see bgo#719362 (using a private copy)
|
|
|
|
|
|
| |
Currently some parts of the windows specific code is checking for the
WIN32 define, and other parts are checking G_OS_WIN32. This commit uses
G_OS_WIN32 everywhere for consistency.
|
|
|
|
|
|
|
|
|
| |
On windows client, there's no effect for guest when
enabling CAPS_LOCK/NUM_LOCK/SCROLL_LOCK on
(because of the delay, guest may take the effect for several seconds).
There's a wrong defined macro, then <modifiers> is ALWAYS 0,
and the keyboard state of guest is synchronized with the state client
by spice_gtk_session_sync_keyboard_modifiers_for_channel(...).
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When building a source file from a different directory, automake 1.14
is warning that the automake option 'subdir-objects' must be used:
automake: warnings are treated as errors
gtk/Makefile.am:218: warning: source file
'$(top_srcdir)/spice-common/common/sw_canvas.c' is in a subdirectory,
gtk/Makefile.am:218: but option 'subdir-objects' is disabled
automake: warning: possible forward-incompatibility.
automake: At least a source file is in a subdirectory, but the
'subdir-objects'
automake: automake option hasn't been enabled. For now, the
corresponding output
automake: object file(s) will be placed in the top-level directory.
However,
automake: this behaviour will change in future Automake versions: they
will
automake: unconditionally cause object files to be placed in the same
subdirectory
automake: of the corresponding sources.
automake: You are advised to start using 'subdir-objects' option
throughout your
automake: project, to avoid future incompatibilities.
autoreconf: automake failed with exit status: 1
This causes the build to fail because we are also using the -Werror
automake option.
Updating the spice-common submodule to git master fixes part of this
issue as 7ea1cc5 'Fix generation of marshallers in VPATH builds' removed
directory references from some source files.
This commit removes the references to
$(top_srcdir)/spice-common/common/sw_canvas.[ch] from gtk/Makefile.am.
At this point, automake subdir-objects support does not seem to cope
very well with source files which are not in relative subdirectories,
see http://mytestbed.net/issues/1327
What is done instead is to add some local client_sw_canvas.[ch] files
which will include the needed files from spice-common with the
appropriate #define set (these sw_canvas.[ch] files are meant to be used
as templates).
This fixes https://bugs.freedesktop.org/show_bug.cgi?id=67304
|
|
|
|
|
| |
It's unconditionnally defined at build time in the global CPP flags, so
the #ifdef SW_CANVAS_CACHE are always enabled and can be removed.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
On Windows, with some versions of gtk+, GtkSelectionData::length
will include the final '\0'.
When a string with this trailing '\0' is pasted in some linux
applications, it will be pasted as <NIL> or as an invisible character,
which is unwanted.
This commit ensures the length we send to the agent does not
include any trailing '\0'.
https://bugzilla.redhat.com/show_bug.cgi?id=1090122
|