Age | Commit message (Collapse) | Author | Files | Lines |
|
|
|
The Python bindings generator failed to bind the USB widget, because of
the object/class declaration. The declaration was circumventing the
deprecated errors when compiling with GTK_DISABLE_DEPRECATED. We used
to need that because of broken gtk+ headers, but it is no longer
necessary since 15bd7ceba1434b5d710bfd16078044f30693467b.
|
|
This fixes the GSpice-WARNING **: no cert loaded, when doing a seamless
migration (when using the "ca" property).
|
|
The SpiceSmartcardManager is a singleton, so it does not make
a lot of sense to try to init it multiple times. This commit adds
a GOnce to ensure the manager is only init'ed once.
|
|
When initializing a software smartcard, vcard_emul_init() can
report success, error, or indicate that initialization has already
been done. In this last case, we would assume that an error occurred
instead of behaving as if the initialization succeeded.
vcard_emul_init() can end up being called multiple time if the
smartcard channel gets destroyed and recreated during the lifetime
of the application
Fixes rhbz#815639
|
|
|
|
|
|
Without that annotation, it will not be possible to pass NULL to
these methods when using a gi-based binding.
|
|
If it's not, annotation we add to inline gtk-doc comments won't
be taken into account in the .gir file.
|
|
For now this makes the usb-code even more of a #ifdef party (albeit only
slightly so). But it does give us (theoretical, untested) usb support on
Mac OS X, and once the libusb Windows backend also gets hotplug support, we
can bump the required libusb version to a new enough one, and drop both the
windows gudev emulation as well as the gudev code-paths.
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
|
|
Split the device add / remove functions into a gudev specific part and
a generic part. This is a preparation patch for adding support libusb's
new hotplug API.
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
|
|
And document both spice_channel_string_to_type and
spice_channel_type_to_string.
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
|
|
This implements line-ending conversion following the specification in the
commit message of spice-protocol commit 7be0e88e7e03a956b364cc847aad11b96ed4 :
vd_agent: Add caps for the agent to signal the guest line-ending (rhbz#752350)
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
|
|
|
|
new symbols in spice-glib, bump before release
|
|
|
|
SPICE_DISABLE_ADAPTIVE_STREAMING
spice-server supports adaptive video streaming only if the client
publishes SPICE_DISPLAY_CAP_STREAM_REPORT.
Disabling this feature is useful for debugging and performance comparison.
|
|
|
|
When they are enabled, autogen.sh fails with:
automake: warnings are treated as errors
gtk-doc.make:77: warning: GTK_DOC_V_SETUP_$(V: non-POSIX recursive variable expansion
doc/reference/Makefile.am:59: 'gtk-doc.make' included from here
gtk-doc.make:78: warning: GTK_DOC_V_SETUP_$(AM_DEFAULT_VERBOSITY: non-POSIX recursive variable expansion
doc/reference/Makefile.am:59: 'gtk-doc.make' included from here
gtk-doc.make:96: warning: GTK_DOC_V_SCAN_$(V: non-POSIX recursive variable expansion
doc/reference/Makefile.am:59: 'gtk-doc.make' included from here
gtk-doc.make:97: warning: GTK_DOC_V_SCAN_$(AM_DEFAULT_VERBOSITY: non-POSIX recursive variable expansion
doc/reference/Makefile.am:59: 'gtk-doc.make' included from here
gtk-doc.make:100: warning: GTK_DOC_V_INTROSPECT_$(V: non-POSIX recursive variable expansion
doc/reference/Makefile.am:59: 'gtk-doc.make' included from here
gtk-doc.make:101: warning: GTK_DOC_V_INTROSPECT_$(AM_DEFAULT_VERBOSITY: non-POSIX recursive variable expansion
doc/reference/Makefile.am:59: 'gtk-doc.make' included from here
gtk-doc.make:132: warning: GTK_DOC_V_XML_$(V: non-POSIX recursive variable expansion
doc/reference/Makefile.am:59: 'gtk-doc.make' included from here
gtk-doc.make:133: warning: GTK_DOC_V_XML_$(AM_DEFAULT_VERBOSITY: non-POSIX recursive variable expansion
doc/reference/Makefile.am:59: 'gtk-doc.make' included from here
gtk-doc.make:149: warning: GTK_DOC_V_HTML_$(V: non-POSIX recursive variable expansion
doc/reference/Makefile.am:59: 'gtk-doc.make' included from here
gtk-doc.make:150: warning: GTK_DOC_V_HTML_$(AM_DEFAULT_VERBOSITY: non-POSIX recursive variable expansion
doc/reference/Makefile.am:59: 'gtk-doc.make' included from here
gtk-doc.make:153: warning: GTK_DOC_V_XREF_$(V: non-POSIX recursive variable expansion
doc/reference/Makefile.am:59: 'gtk-doc.make' included from here
gtk-doc.make:154: warning: GTK_DOC_V_XREF_$(AM_DEFAULT_VERBOSITY: non-POSIX recursive variable expansion
doc/reference/Makefile.am:59: 'gtk-doc.make' included from here
gtk-doc.make:185: warning: GTK_DOC_V_PDF_$(V: non-POSIX recursive variable expansion
doc/reference/Makefile.am:59: 'gtk-doc.make' included from here
gtk-doc.make:186: warning: GTK_DOC_V_PDF_$(AM_DEFAULT_VERBOSITY: non-POSIX recursive variable expansion
doc/reference/Makefile.am:59: 'gtk-doc.make' included from here
autoreconf: automake failed with exit status: 1
on my F19.
-Wportability used to be automatically disabled with automake <= 1.12 when using
silent rules, but this is no longer the case with automake 1.13 which is what
fedora 19 uses: http://www.flameeyes.eu/autotools-mythbuster/automake/silent.html
"As of version 1.13, though, this opt-in is no longer necessary, as all the
Makefiles are generated to support them. The silent-rules option is now a
no-op, doing nothing at all, in particular not silencing the portability
warnings."
This commit disables these warnings in order to avoid autogen.sh breakage
because of the use of -Werror, they can be reenabled once gtk-doc.make is
fixed to avoid these portability warnings.
|
|
intltool-update -M complains about them
|
|
It's more consistent to have it close to
spice_smartcard_reader_insert_card() et al.
|
|
This returns the list of smartcard readers known to a given
SpiceSmartcardManager. This is useful to check whether a software
smartcard reader is available or not.
|
|
Currently, the methods to insert/remove smartcards from a software
smartcard reader are global to the SpiceSmartcardManager singleton
rather than acting on a SpiceSmartcardreader object.
This commit adds insert/remove methods acting on such objects.
|
|
As there is no easy way to know if the SpiceSmartcardManager
has an associated software reader or not, it's better to report
failure instead of g_return_if_fail on attempts to use
spice_smartcard_manager_insert/remove_card with no software reader
available.
|
|
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
|
|
Apparently, trailing slash are common for proxy URI. Is there a
specification for these kind of URI?
(I cry that we don't have GUri yet to handle parsing... gbo#489862)
Fixes:
https://bugzilla.redhat.com/show_bug.cgi?id=975472
|
|
The win32 ll keyboard hook avoid Windows and other application to
receive global keyboard events. But some key combinations can't be
filtered, such as Win+L. However, the windows lock screen doesn't catch
that the Win key is released, when virt-viewer still holds the hook and
filters it.
So pressing Win+L quickly will lock the screen, but some key press in
the password entry will still be handled as if the Win key was pressed,
such as Win+P or Win+U and probably other, and prevents user from typing
his password.
The only working solution I could find is to just let go all the release
key events in the hook. There doesn't seem any drawback with that.
https://bugzilla.redhat.com/show_bug.cgi?id=917986
|
|
This is similar to 8cbd5d745c221f788878c9c713f3b46a25828d3f and can be
reproduced by pressing Win+l while the widget has the keyboard
grab (pointer over the display).
I have not reproduced implicit grab-broken event, I suppose they could
happen if the grab is stolen from within the app. In any case, it's
probably better to release the keys.
This is related to:
https://bugzilla.redhat.com/show_bug.cgi?id=917986
|
|
While debugging:
https://bugzilla.redhat.com/show_bug.cgi?id=866718
I found a thread-safeness issue with a couple of foo_get_type functions
in polkit causing this crash.
After this I decided to check if spice-gtk has the same issue, and it does,
since foo_get_type can be called from different threads, it is important to
make them thread-safe.
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
|
|
The widget currently filters out last key press from grab key sequence
if it's not a modifier key. But this will prevent nested usage of ungrab
combinations such as shift+f12.
https://bugzilla.redhat.com/show_bug.cgi?id=889962
This will also make the following obsolete:
https://bugzilla.redhat.com/show_bug.cgi?id=846005
|
|
|
|
Running virt-viewer-x64-0.5.6.msi, on Windows 7, connecting to QEMU using
spice, AltGR key combinations fails (using Swedish keyboard layout both at
server and client).
I suspect that this is a variant of
https://bugzilla.redhat.com/show_bug.cgi?id=904092.
After some debugging, I realized that there is an extra VK_LCONTROL
keypress sent by Windows. This extra VK_LCONTROL will then make the key
e.g. AltGr-< actually be Control-AltGr-<, which is not interpreted as a |
sign.
So in spice-widget.c : keyboard_hook_cb(), I added SPICE_DEBUG lines which
printed out the hooked->scanCode, and realized that this extra VK_LCONTROL
has a very suspect scanCode with bit 9 set. If I instead press the left
Ctrl key, it will also emit VK_LCONTROL, but with bit 9 cleared.
So I just made sure that keyboard_hook_cb(), silently dropped these strange
VK_LCONTROL events, which seems to work for me.
|
|
When doing a mingw32 build, I hit the following warning (which became an
error because of -Werror):
channel-display.c: In function 'destroy_stream':
channel-display.c:1546:9: error: format '%lu' expects argument of type 'long unsigned int', but argument 6 has type 'uint64_t' [-Werror=format=]
CHANNEL_DEBUG(channel, "%s: drops total duration %lu ==>", __FUNCTION__, drops_duration_total);
^
|
|
|
|
channel-display.c: In function 'display_update_stream_report':
channel-display.c:1273: warning: implicit declaration of function
'g_get_monotonic_time'
|
|
https://bugzilla.redhat.com/show_bug.cgi?id=885101
|
|
|
|
(migration related)
rhbz#951664
When the src and dst servers have different mm-times, we can
hit a case when for a short period of time the session mm-time and
the video mm-time are not synced. If the video mm-time is much
bigger than the session mm-time, the next stream rendering will be
scheduled to (video-mm-time - session-mm-time), and even after
the different mm-times are synced, the video won't be rendered
till the rendering timeout that was scheduled based on a wrong mm-time,
takes place.
This patch protects from such cases. You can find more details in the
code comments.
|
|
mm-time can change after migration. This can cause video synchronization
problems after migration if not handled appropriately (see rhbz#951664).
|
|
context
|
|
The Wayland keycode are just Linux evdev, but the Gdk backend
add the +8 offset used by Xorg evdev.
|
|
|
|
Ok, this isn't a good idea, but atm, the browser don't seem to send
hardware keycode, and so Gtk+ broadway backend decided to use keysyms
representation, which spice-gtk receives as "hardware keycodes"...
Since Gdk keysyms are same as X11, add a new x11 keysym to keymap.
This is not going to fly,...
|
|
|
|
|
|
spice-gtk blindly assume the backend is X11 if it's compiled on
Unix. But nowadays, gtk+ support runtime backend selection.
https://bugzilla.redhat.com/show_bug.cgi?id=961577
|
|
That code was used in early version to set client modifiers lock
but it is the wrong approach, and guest should follow client
state instead.
|
|
Changing client resolution is a bad idea, and never took up.
Remove some unmaintained experimental code.
|
|
gtk may propagate some press event up to the Spice display widget, but
a widget may take focus and grab the release event, so the guest will
keep seeing the key pressed.
Releasing the keys when the grab is taken solves two menu-related bugs:
https://bugzilla.redhat.com/show_bug.cgi?id=820829
https://bugzilla.redhat.com/show_bug.cgi?id=924577
|
|
Spice-gtk does a bit of client-side work by optionnally delaying sending
the monitor configuration to the guest automatically. However, the
client may be slow to set all the monitors, so teach the timer to not
fire the event unless at least the number of monitors set explicitely
enabled or disabled matches the number of display channels.
This avoid some configuration races when connecting to a multi-channel
display server which is slow to set up.
|