summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2013-08-06usb-device-manager: fix compilation error when usbredir is disabledHEADmasterYonit Halperin1-1/+1
2013-08-06usb-widget: fix gtk2 Python bindingsMarc-André Lureau1-10/+2
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.
2013-07-22session: copy "ca" property in copy ctorMarc-André Lureau1-0/+1
This fixes the GSpice-WARNING **: no cert loaded, when doing a seamless migration (when using the "ca" property).
2013-07-11smartcard: Only init manager onceChristophe Fergeau1-17/+29
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.
2013-07-11smartcard: Handle VCARD_EMUL_INIT_ALREADY_INITEDChristophe Fergeau1-1/+4
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
2013-07-08doc: Fix typo in code commentChristophe Fergeau1-1/+1
2013-07-08gst: Chain up dispose impl to parent classChristophe Fergeau1-0/+3
2013-07-08gi: Add (allow none) to optional const char * paramsChristophe Fergeau3-6/+11
Without that annotation, it will not be possible to pass NULL to these methods when using a gi-based binding.
2013-07-08gi: Make sure usb-device-widget.c is introspectedChristophe Fergeau1-0/+1
If it's not, annotation we add to inline gtk-doc comments won't be taken into account in the .gir file.
2013-07-05usb-device-manager: Add support for libusb hotplug APIHans de Goede2-21/+139
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>
2013-07-04usb-device-manager: Splitout device add / remove functionHans de Goede1-67/+82
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>
2013-06-27Add spice_channel_string_to_type to map filesHans de Goede4-0/+21
And document both spice_channel_string_to_type and spice_channel_type_to_string. Signed-off-by: Hans de Goede <hdegoede@redhat.com>
2013-06-27channel-main: Convert text line-endings if necessary (rhbz#752350)Hans de Goede1-4/+69
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>
2013-06-26Release v0.20v0.20Marc-André Lureau1-0/+10
2013-06-26build-sys: bump spice-glib versionMarc-André Lureau1-1/+1
new symbols in spice-glib, bump before release
2013-06-26doc: add missing symbols and versionsMarc-André Lureau3-1/+13
2013-06-24display: disabling adaptive video streaming via env var ↵Yonit Halperin1-6/+18
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.
2013-06-24display: video stats logging - improve readability and ease of parsingYonit Halperin1-8/+11
2013-06-24automake: Disable portability warningsChristophe Fergeau1-1/+1
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.
2013-06-24Remove obsolete files from POTFILES.inChristophe Fergeau1-5/+0
intltool-update -M complains about them
2013-06-24smartcard: Move down spice_smartcard_reader_is_software bodyChristophe Fergeau1-15/+15
It's more consistent to have it close to spice_smartcard_reader_insert_card() et al.
2013-06-24Add spice_smartcard_manager_get_readers()Christophe Fergeau4-0/+47
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.
2013-06-24smartcard: Add methods to act on software readersChristophe Fergeau4-10/+69
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.
2013-06-24smartcard: Report failure when software reader is missingChristophe Fergeau1-2/+4
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.
2013-06-24Update spice-commonHans de Goede1-0/+0
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
2013-06-21proxy: remove trailing slash from proxy URLMarc-André Lureau1-2/+14
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
2013-06-14win32: don't block key up eventsMarc-André Lureau1-1/+1
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
2013-06-14widget: release keys on grab-brokenMarc-André Lureau1-0/+1
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
2013-05-29Make sure our foo_get_type functions are thread-safeHans de Goede2-7/+16
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>
2013-05-16widget: remove grab key filterMarc-André Lureau1-5/+0
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
2013-05-16Build fix, use correct check versionMarc-André Lureau1-1/+2
2013-05-15mingw: Fix non-working AltGr with some layoutsMattias Grönlund1-1/+7
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.
2013-05-15Fix printf format string warningChristophe Fergeau1-2/+2
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); ^
2013-05-14Build fixes for gtk+2Marc-André Lureau2-5/+9
2013-05-14Fix glib2 2.22 build after edf1daf5Marc-André Lureau3-12/+15
channel-display.c: In function 'display_update_stream_report': channel-display.c:1273: warning: implicit declaration of function 'g_get_monotonic_time'
2013-05-13session: timeout after 10s of socket connect() attemptMarc-André Lureau1-1/+35
https://bugzilla.redhat.com/show_bug.cgi?id=885101
2013-05-13Fix build after 577263aaf4cMarc-André Lureau1-2/+0
2013-05-13channel-display: protect video streaming from temporarily unsynced mm_time ↵Yonit Halperin1-2/+113
(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.
2013-05-13spice-session: new signal for notifying on a significant change in mm-timeYonit Halperin1-0/+42
mm-time can change after migration. This can cause video synchronization problems after migration if not handled appropriately (see rhbz#951664).
2013-05-13emit_main_context macro: handle calls from both coroutine context and main ↵Yonit Halperin2-4/+9
context
2013-05-13vncdisplaykeymap: add wayland supportMarc-André Lureau1-0/+17
The Wayland keycode are just Linux evdev, but the Gdk backend add the +8 offset used by Xorg evdev.
2013-05-11vncdisplaykeymap: add broadway supportMarc-André Lureau1-0/+24
2013-05-11keymaps: add basic x11 keysymsMarc-André Lureau3-113/+147
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,...
2013-05-11vncdisplaykeymap: adapt gtk2 compat codeMarc-André Lureau1-6/+6
2013-05-11vncdisplaykeymap: use a window to associate tableMarc-André Lureau3-8/+12
2013-05-11widget: check backend is X11Marc-André Lureau1-1/+11
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
2013-05-11Remove unused spice_set_keyboard_lock_modifiers()Marc-André Lureau1-61/+0
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.
2013-05-11Remove GnomeRR codeMarc-André Lureau18-7122/+0
Changing client resolution is a bad idea, and never took up. Remove some unmaintained experimental code.
2013-05-11widget: release keys when the grab is taken elsewhereMarc-André Lureau1-0/+12
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
2013-05-11main: do not send monitors config if some are missingMarc-André Lureau1-3/+21
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.