summaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* Introduce gtask-helper.[ch]wip/gtask-helperFabiano Fidêncio2016-03-2312-67/+254
| | | | | | | | | | | | | As noticed, GTask's heurestic for return a task in idle or immediately doesn't work when using Coroutine and that's okay, we just need to do the idle ourself. And in order to avoid code duplication, let's introduce and make usage of the new g_task_helper_return_* functions. These functions match exactly with the existing g_task_return_* functions and the only difference is that they return on idle instead of returning immediately. Signed-off-by: Fabiano Fidêncio <fidencio@redhat.com>
* Revert "channel-usbredir: Fix crash due to a Task returning earlier than ↵Fabiano Fidêncio2016-03-231-1/+1
| | | | | | expected" This reverts commit 7774b8c0dd85ce2bb311d8bbe1c25deb73970b6e.
* vmcstream,gtask: Do idle ourself instead of leaving it to GTask's heuristicFabiano Fidêncio2016-03-221-2/+27
| | | | | | | | | | Seems that GTask heuristic only makes sense in a non-coroutine case. After opening a bug[0] on spice-gtk and a few discussions in the mailing list, seems that is completely fine for coroutine code to deal with the idle explicitly. Signed-off-by: Fabiano Fidêncio <fidencio@redhat.com> Acked-by: Marc-André Lureau <mlureau@redhat.com>
* vmcstream,gtask: Fix crash when trying to use webdavFabiano Fidêncio2016-03-221-2/+0
| | | | | | | | | | | | | | | | | | | | | | | Don't try to get the cancellable from a task that is, for sure (ensured by us), NULL. See the backtrace: #0 0x00007ffff29cf250 in g_task_get_cancellable () at /lib64/libgio-2.0.so.0 #1 0x00007ffff78a9012 in spice_vmc_input_stream_read_all_async (stream=<optimized out>, buffer=0x7070f8, count=8, io_priority=<optimized out>, cancellable=0x7fffcc00a470, callback=0x7ffff788c190 <client_read_cb>, user_data=0x707b30) at vmcstream.c:187 #2 0x00007ffff788c0ab in start_demux (self=0x707b30) at channel-webdav.c:498 #3 0x00007ffff2700578 in g_closure_invoke () at /lib64/libgobject-2.0.so.0 #4 0x00007ffff27135f0 in signal_emit_unlocked_R () at /lib64/libgobject-2.0.so.0 #5 0x00007ffff271c43c in g_signal_emit_valist () at /lib64/libgobject-2.0.so.0 #6 0x00007ffff788acca in emit_main_context (opaque=0x7fffbfffe880) at gio-coroutine.c:200 #7 0x00007ffff242bab3 in g_main_context_dispatch () at /lib64/libglib-2.0.so.0 #8 0x00007ffff242be60 in g_main_context_iterate.isra () at /lib64/libglib-2.0.so.0 #9 0x00007ffff242c182 in g_main_loop_run () at /lib64/libglib-2.0.so.0 #10 0x0000000000405df6 in main (argc=<optimized out>, argv=<optimized out>) at spicy.c:1897 It was pointed out during the review and, somehow, missed :-\ Signed-off-by: Fabiano Fidêncio <fidencio@redhat.com> Signed-off-by: Pavel Grunt <pgrunt@redhat.com> Acked-by: Victor Toso <victortoso@redhat.com>
* Include gdk/gdkwayland.h anytime GDK_WINDOWING_WAYLAND is defined.Jeremy White2016-03-221-1/+1
| | | | | | | A specific GTK version check is not appropriate for this particular include. This fixes compilation on Debian Jessie. Signed-off-by: Jeremy White <jwhite@codeweavers.com>
* Remove extra checks before g_cancellable_disconnect()Pavel Grunt2016-03-222-15/+4
| | | | | If cancellable is NULL or handler_id is 0 the function does nothing. Acked-by: Victor Toso <victortoso@redhat.com>
* usb-device-manager: Remove invalid return annotationPavel Grunt2016-03-221-2/+0
| | | | Acked-by: Victor Toso <victortoso@redhat.com>
* usbredir_handle_msg: rename data to err_datasnir sheriber2016-03-221-7/+7
| | | | | | To better reflect what this variable is used for and change the declare location such that it will be declared only if it should Acked-by: Victor Toso <victortoso@redhat.com>
* mingw: Fix build failure due to epoxy/egl.h headerHEADmasterFabiano Fidêncio2016-03-213-1/+35
| | | | | | | | epoxy/egl.h header is not provided by mingw-epoxy package. Let's avoid egl usage when building using mingw then. Signed-off-by: Fabiano Fidêncio <fidencio@redhat.com> Acked-by: Marc-André Lureau <mlureau@redhat.com>
* channel-usbredir: Fix crash due to a Task returning earlier than expectedFabiano Fidêncio2016-03-211-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | g_task_return_error() has been completing the task immediately, not cleaning up/setting up the device state to STATE_DISCONNECTED. It's been causing a double free when trying to redirect a device without having the ACL permissions for doing it. See the backtrace: #0 0x00007ffff24dc07d in g_type_check_instance_is_fundamentally_a (type_instance=type_instance@entry=0x14779d0, fundamental_type=fundamental_type@entry=80) at gtype.c:4032 #1 0x00007ffff24bc447 in g_object_unref (_object=0x14779d0) at gobject.c:3076 #2 0x00007ffff7bafc2a in connect_cb (gobject=0x87d9a0 [SpiceUsbDeviceManager], res=0x96f830, user_data=0x143e0e0) at usb-device-widget.c:485 #3 0x00007ffff277f5a3 in g_task_return_now (task=0x96f830 [GTask]) at gtask.c:1106 #4 0x00007ffff277fc4e in g_task_return (task=0x96f830 [GTask], type=<optimized out>) at gtask.c:1164 #5 0x00007ffff786c277 in spice_usb_device_manager_channel_connect_cb (gobject=0x917940 [SpiceUsbredirChannel], channel_res=0x96f900, user_data=0x96f830) at usb-device-manager.c:1094 #6 0x00007ffff277f5a3 in g_task_return_now (task=0x96f900 [GTask]) at gtask.c:1106 #7 0x00007ffff277fc4e in g_task_return (task=0x96f900 [GTask], type=<optimized out>) at gtask.c:1164 #8 0x00007ffff786699c in spice_usbredir_channel_open_acl_cb (gobject=0xa73b00 [SpiceUsbAclHelper], acl_res=0x96f9d0, user_data=0x917940) at channel-usbredir.c:300 #9 0x00007ffff277f5a3 in g_task_return_now (task=0x96f9d0 [GTask]) at gtask.c:1106 #10 0x00007ffff277fc4e in g_task_return (task=0x96f9d0 [GTask], type=<optimized out>) at gtask.c:1164 #11 0x00007ffff27804d0 in g_task_return_new_error (task=0x96f9d0 [GTask], domain=<optimized out>, code=<optimized out>, format=<optimized out>) at gtask.c:1744 #12 0x00007ffff786eade in cb_out_watch (channel=0x1488740, cond=G_IO_IN, user_data=0xa73b00) at usb-acl-helper.c:128 #13 0x00007ffff21b8e3a in g_main_context_dispatch (context=0x647390) at gmain.c:3154 #14 0x00007ffff21b8e3a in g_main_context_dispatch (context=context@entry=0x647390) at gmain.c:3769 #15 0x00007ffff21b91d0 in g_main_context_iterate (context=0x647390, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at gmain.c:3840 #16 0x00007ffff21b94f2 in g_main_loop_run (loop=0x13d1ae0) at gmain.c:4034 #17 0x00007ffff3ca5440 in gtk_dialog_run () at /lib64/libgtk-3.so.0 #18 0x0000000000406a18 in menu_cb_select_usb_devices (action=0x9d62f0 [GtkAction], data=0x69aef0) at spicy.c:394 #22 0x00007ffff24d28ff in <emit signal ??? on instance 0x9d62f0 [GtkAction]> (instance=<optimized out>, signal_id=<optimized out>, detail=<optimized out>) at gsignal.c:3439 #19 0x00007ffff24b77a5 in g_closure_invoke (closure=0xa0d0c0, return_value=return_value@entry=0x0, n_param_values=1, param_values=param_values@entry=0x7fffffffcf70, invocation_hint=invocation_hint@entry=0x7fffffffcef0) at gclosure.c:801 #20 0x00007ffff24c9851 in signal_emit_unlocked_R (node=node@entry=0x63fc10, detail=detail@entry=0, instance=instance@entry=0x9d62f0, emission_return=emission_return@entry=0x0, instance_and_params=instance_and_params@entry=0x7fffffffcf70) at gsignal.c:3627 #21 0x00007ffff24d2530 in g_signal_emit_valist (instance=<optimized out>, signal_id=<optimized out>, detail=<optimized out>, var_args=var_args@entry=0x7fffffffd130) at gsignal.c:3383 #23 0x00007ffff3bc23b0 in _gtk_action_emit_activate () at /lib64/libgtk-3.so.0 #27 0x00007ffff24d28ff in <emit signal ??? on instance 0x9a8730 [GtkImageMenuItem]> (instance=<optimized out>, signal_id=<optimized out>, detail=<optimized out>) at gsignal.c:3439 #24 0x00007ffff24b77a5 in g_closure_invoke (closure=closure@entry=0x6607d0, return_value=return_value@entry=0x0, n_param_values=1, param_values=param_values@entry=0x7fffffffd3f0, invocation_hint=invocation_hint@entry=0x7fffffffd370) at gclosure.c:801 #25 0x00007ffff24c938c in signal_emit_unlocked_R (node=node@entry=0x661050, detail=detail@entry=0, instance=instance@entry=0x9a8730, emission_return=emission_return@entry=0x0, instance_and_params=instance_and_params@entry=0x7fffffffd3f0) at gsignal.c:3557 #26 0x00007ffff24d2530 in g_signal_emit_valist (instance=<optimized out>, signal_id=<optimized out>, detail=<optimized out>, var_args=var_args@entry=0x7fffffffd5b0) at gsignal.c:3383 #28 0x00007ffff3e7094e in gtk_widget_activate () at /lib64/libgtk-3.so.0 #29 0x00007ffff3d4e4f6 in gtk_menu_shell_activate_item () at /lib64/libgtk-3.so.0 #30 0x00007ffff3d4e824 in gtk_menu_shell_button_release () at /lib64/libgtk-3.so.0 #31 0x00007ffff3d30fda in _gtk_marshal_BOOLEAN__BOXEDv () at /lib64/libgtk-3.so.0 #32 0x00007ffff24b79d4 in _g_closure_invoke_va (closure=closure@entry=0x644d10, return_value=return_value@entry=0x7fffffffd900, instance=instance@entry=0x80faa0, args=args@entry=0x7fffffffd9d0, n_params=<optimized out>, param_types=0x644d40) at gclosure.c:864 #33 0x00007ffff24d1dd3 in g_signal_emit_valist (instance=0x80faa0, signal_id=<optimized out>, detail=0, var_args=var_args@entry=0x7fffffffd9d0) at gsignal.c:3292 #34 0x00007ffff24d28ff in g_signal_emit (instance=<optimized out>, signal_id=<optimized out>, detail=<optimized out>) at gsignal.c:3439 #35 0x00007ffff3e6e4bc in gtk_widget_event_internal () at /lib64/libgtk-3.so.0 #36 0x00007ffff3d2e34e in propagate_event () at /lib64/libgtk-3.so.0 #37 0x00007ffff3d300fc in gtk_main_do_event () at /lib64/libgtk-3.so.0 #38 0x00007ffff38a8e92 in gdk_event_source_dispatch () at /lib64/libgdk-3.so.0 #39 0x00007ffff21b8e3a in g_main_context_dispatch (context=0x647390) at gmain.c:3154 #40 0x00007ffff21b8e3a in g_main_context_dispatch (context=context@entry=0x647390) at gmain.c:3769 #41 0x00007ffff21b91d0 in g_main_context_iterate (context=0x647390, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at gmain.c:3840 #42 0x00007ffff21b94f2 in g_main_loop_run (loop=0x6e2730) at gmain.c:4034 #43 0x000000000040b2f9 in main (argc=1, argv=0x7fffffffde48) at spicy.c:1920 Signed-off-by: Fabiano Fidêncio <fidencio@redhat.com> Acked-by: Pavel Grunt <pgrunt@redhat.com>
* Adjust to Gtk+ 3.10Pavel Grunt2016-03-183-27/+0
| | | | | | | | Dependency since f9a1aad85fcc76dd76c454b51fbce5e07c9b145f Remove unneeded GTK_CHECK_VERSION guards Acked-by: Victor Toso <victortoso@redhat.com>
* Adjust to GLib 2.36Pavel Grunt2016-03-1834-258/+1
| | | | | | | | Dependency since 8693e7d3f7de1ff102082212fa6e35fb1a252ef7 Remove glib-compat files and most of GLIB_CHECK_VERSION guards Acked-by: Victor Toso <victortoso@redhat.com>
* Move strtok_r from glib-compat to spice-uriPavel Grunt2016-03-183-35/+29
| | | | | | It is not glib specific and it is only used in spice-uri Acked-by: Victor Toso <victortoso@redhat.com>
* spice-util: Fix alignmentPavel Grunt2016-03-181-1/+1
| | | | Acked-by: Victor Toso <victortoso@redhat.com>
* usb-acl-helper: Remove extra check for NULLPavel Grunt2016-03-181-4/+2
| | | | | | g_cancellable_cancel() and g_clear_object() can handle it Acked-by: Victor Toso <victortoso@redhat.com>
* spicy: s/Automagic/Automatic/Pavel Grunt2016-03-171-1/+1
| | | | Acked-by: Eduardo Lima (Etrunko) <etrunko@redhat.com>
* spice-display: Remove auto-clipboard notifyPavel Grunt2016-03-171-12/+0
| | | | | | | | | | | | It was used to notify the (deprecated) auto-clipboard property of the SpiceDisplay everytime the SpiceGtkSession emits its auto-clipboard notify. The commit 70a00b8fcc2ca85d3601f6ac4895f906f9032e77 removed the property from SpiceDisplay causing a runtime warning: GLib-GObject-WARNING **: g_object_notify: object class 'SpiceDisplay' has no property named 'auto-clipboard' Acked-by: Eduardo Lima (Etrunko) <etrunko@redhat.com>
* display: Lower level of warning for empty monitor configPavel Grunt2016-03-171-1/+5
| | | | | | | | | | It is a valid case when a guest requests to turn off monitors, eg: xrandr --output Virtual-0 --off Related: https://bugzilla.redhat.com/show_bug.cgi?id=1061942 Acked-by: Frediano Ziglio <fziglio@redhat.com>
* Lower gtk+ requirement to 3.10Marc-André Lureau2016-03-152-2/+12
| | | | | | | | | Make GtkGlArea optional allows to lower gtk+ requirement to 3.10 (required for GtkStack). However, gl display is unsupported on wayland with gtk+ < 3.16. Signed-off-by: Marc-André Lureau <marcandre.lureau@gmail.com> Acked-by: Fabiano Fidêncio <fidencio@redhat.com>
* wocky-http-proxy: Use GTask instead of GSimpleAsyncResultFabiano Fidêncio2016-03-141-31/+17
| | | | | | | | Instead of using GSimpleAsyncResult, use the new GTask API, which is much more straightforward. Signed-off-by: Fabiano Fidêncio <fidencio@redhat.com> Acked-by: Jonathon Jongsma <jjongsma@redhat.com>
* win-usb-driver-install: Use GTask instead of GSimpleAsyncResultFabiano Fidêncio2016-03-141-48/+42
| | | | | | | | Instead of using GSimpleAsyncResult, use the new GTask API, which is much more straightforward. Signed-off-by: Fabiano Fidêncio <fidencio@redhat.com> Acked-by: Jonathon Jongsma <jjongsma@redhat.com>
* vmcstream: Use GTask instead of GSimpleAsyncResultFabiano Fidêncio2016-03-141-77/+52
| | | | | | | | Instead of using GSimpleAsyncResult, use the new GTask API, which is much more straightforward. Signed-off-by: Fabiano Fidêncio <fidencio@redhat.com> Acked-by: Jonathon Jongsma <jjongsma@redhat.com>
* usb-device-manager: Use GTask instead of GSimpleAsyncResultFabiano Fidêncio2016-03-141-31/+27
| | | | | | | | Instead of using GSimpleAsyncResult, use the new GTask API, which is much more straightforward. Signed-off-by: Fabiano Fidêncio <fidencio@redhat.com> Acked-by: Jonathon Jongsma <jjongsma@redhat.com>
* usb-acl-helper: Use GTask instead of GSimpleAsyncResultFabiano Fidêncio2016-03-141-34/+27
| | | | | | | | Instead of using GSimpleAsyncResult, use the new GTask API, which is much more straightforward. Signed-off-by: Fabiano Fidêncio <fidencio@redhat.com> Acked-by: Jonathon Jongsma <jjongsma@redhat.com>
* spice-pulse: Use GTask instead of GSimpleAsyncResultFabiano Fidêncio2016-03-141-58/+34
| | | | | | | | Instead of using GSimpleAsyncResult, use the new GTask API, which is much more straightforward. Signed-off-by: Fabiano Fidêncio <fidencio@redhat.com> Acked-by: Jonathon Jongsma <jjongsma@redhat.com>
* spice-gstaudio: Use GTask instead of GSimpleAsyncResultFabiano Fidêncio2016-03-141-30/+14
| | | | | | | | Instead of using GSimpleAsyncResult, use the new GTask API, which is much more straightforward. Signed-off-by: Fabiano Fidêncio <fidencio@redhat.com> Acked-by: Jonathon Jongsma <jjongsma@redhat.com>
* spice-channel: Use GTask instead of GSimpleAsyncResultFabiano Fidêncio2016-03-141-19/+13
| | | | | | | | Instead of using GSimpleAsyncResult, use the new GTask API, which is much more straightforward. Signed-off-by: Fabiano Fidêncio <fidencio@redhat.com> Acked-by: Jonathon Jongsma <jjongsma@redhat.com>
* smartcard-manager: Use GTask instead of GSimpleAsyncResultFabiano Fidêncio2016-03-141-24/+14
| | | | | | | | Instead of using GSimpleAsyncResult, use the new GTask API, which is much more straightforward. Signed-off-by: Fabiano Fidêncio <fidencio@redhat.com> Acked-by: Jonathon Jongsma <jjongsma@redhat.com>
* channel-usbredir: Use GTask instead of GSimpleAsyncResultFabiano Fidêncio2016-03-141-21/+17
| | | | | | | | Instead of using GSimpleAsyncResult, use the new GTask API, which is much more straightforward. Signed-off-by: Fabiano Fidêncio <fidencio@redhat.com> Acked-by: Jonathon Jongsma <jjongsma@redhat.com>
* channel-port: Use GTask instead of GSimpleAsyncResultFabiano Fidêncio2016-03-141-1/+2
| | | | | | | | Instead of using GSimpleAsyncResult, use the new GTask API, which is much more straightforward. Signed-off-by: Fabiano Fidêncio <fidencio@redhat.com> Acked-by: Jonathon Jongsma <jjongsma@redhat.com>
* channel-main: Use GTask instead of GSimpleAsyncResultFabiano Fidêncio2016-03-141-49/+33
| | | | | | | | Instead of using GSimpleAsyncResult, use the new GTask API, which is much more straightforward. Signed-off-by: Fabiano Fidêncio <fidencio@redhat.com> Acked-by: Jonathon Jongsma <jjongsma@redhat.com>
* channel-base: Use GTask instead of GSimpleAsyncResultFabiano Fidêncio2016-03-141-16/+13
| | | | | | | | | | | | | | Instead of using GSimpleAsyncResult, use the new GTask API, which is much more straightforward. For using the new GTask API, let's bump GIO (part of GLib) dependency version to 2.36, which is safe based on major distro support: - Debian Jessie: glib-2.42 - RHEL-7.1: glib-2.40 - SLES12: glib-2.38 - Ubuntu LTS 14.04: glib-2.40 Signed-off-by: Fabiano Fidêncio <fidencio@redhat.com> Acked-by: Jonathon Jongsma <jjongsma@redhat.com>
* gtk: add GtkGLAreaMarc-André Lureau2016-03-143-8/+81
| | | | | | | | | | | | | GtkGLArea is the proper modern way to have opengl in an gtk+ application. Unfortunately, it may use various backends and interfaces to initialize it, but dmabuf image sharing requires egl atm. This patch keeps using our egl setup on X11, while it uses gtkglarea on known gdk backend based on egl, such as the wayland one. This brings wayland support for local gl to spice-gtk. Signed-off-by: Marc-André Lureau <marcandre.lureau@gmail.com> Acked-by: Fabiano Fidêncio <fidencio@redhat.com>
* gtk: use GtkStackMarc-André Lureau2016-03-142-26/+47
| | | | | | | | | Move the GtkDrawingArea in a GtkStack, so other widgets can be switched to for the display: the next patch adds a GtkGLArea for an opengl rendering. One can imagine other display widgets to show text etc.. Signed-off-by: Marc-André Lureau <marcandre.lureau@gmail.com> Acked-by: Fabiano Fidêncio <fidencio@redhat.com>
* gtk: require gtk+ 3.16Marc-André Lureau2016-03-143-36/+5
| | | | | | | | | | 3.16 is the minimal version for GtkGLArea widget, used in following patches. Drop conditional epoxy support, as it is now required by gtk+. Signed-off-by: Marc-André Lureau <marcandre.lureau@gmail.com> Acked-by: Fabiano Fidêncio <fidencio@redhat.com>
* gtk: drop deprecated stuff from spice-gtkMarc-André Lureau2016-03-142-78/+0
| | | | | | | Breaking ABI is a good time to remove deprecated code. Signed-off-by: Marc-André Lureau <marcandre.lureau@gmail.com> Acked-by: Fabiano Fidêncio <fidencio@redhat.com>
* Drop GTK+ 2.0Marc-André Lureau2016-03-148-482/+7
| | | | | | | | | | Not so many systems require gtk+ 2.0 these days, let's move on. This drops the old python bindings (non-gir based), and the unsteady/experimental gtk2-only XShm support. Signed-off-by: Marc-André Lureau <marcandre.lureau@gmail.com> Acked-by: Fabiano Fidêncio <fidencio@redhat.com>
* gtk: make SpiceGrabSequence privateMarc-André Lureau2016-03-145-13/+31
| | | | | | | | Do not leak internals of SpiceGrabSequence in public headers. This makes also the class final, which let us extend more easily without fear of breaking ABI. Signed-off-by: Marc-André Lureau <marcandre.lureau@gmail.com> Acked-by: Fabiano Fidêncio <fidencio@redhat.com>
* gtk: make SpiceUsbDeviceWidget privateMarc-André Lureau2016-03-142-36/+16
| | | | | | | | Do not leak internals of SpiceUsbDeviceWidget in public headers. This makes also the class final, which let us extend more easily without fear of breaking ABI. Signed-off-by: Marc-André Lureau <marcandre.lureau@gmail.com> Acked-by: Fabiano Fidêncio <fidencio@redhat.com>
* gtk: make SpiceGtkSession privateMarc-André Lureau2016-03-142-33/+13
| | | | | | | | | Do not leak internals of SpiceGtkSession in our headers. This makes also the class final, which let us extend more easily without fear of breaking ABI. Signed-off-by: Marc-André Lureau <marcandre.lureau@gmail.com> Acked-by: Fabiano Fidêncio <fidencio@redhat.com>
* gtk: make SpiceDisplay privateMarc-André Lureau2016-03-142-35/+15
| | | | | | | | | Do not leak internals of SpiceDisplay in our headers. This makes also the class final, which let us extend more easily without fear of breaking ABI. Signed-off-by: Marc-André Lureau <marcandre.lureau@gmail.com> Acked-by: Fabiano Fidêncio <fidencio@redhat.com>
* build-sys: bump spice-gtk current version infoMarc-André Lureau2016-03-141-1/+1
| | | | | | | | The following patches need to break the ABI (in particular the parent of the SpiceDisplay widget). Signed-off-by: Marc-André Lureau <marcandre.lureau@gmail.com> Acked-by: Fabiano Fidêncio <fidencio@redhat.com>
* doc: add a bunch of Since: 0.31Marc-André Lureau2016-03-112-1/+21
| | | | Signed-off-by: Marc-André Lureau <marcandre.lureau@gmail.com>
* Prepare for v0.31 releaseMarc-André Lureau2016-03-111-0/+2
| | | | Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
* logging: use more idiomatic spice-gtk loggingMarc-André Lureau2016-03-115-15/+15
| | | | | | | spice-gtk uses SPICE_DEBUG for debug lines (for now), and prefer direct glib glog/g_warning. Signed-off-by: Marc-André Lureau <marcandre.lureau@gmail.com>
* session: use debug message for optional key valueMarc-André Lureau2016-03-111-1/+1
| | | | | | | This fixes make check failing because of recent spice-common logging switch to glib. Signed-off-by: Marc-André Lureau <marcandre.lureau@gmail.com>
* usb-acl-helper: add env var for specifying acl helper binaryJonathon Jongsma2016-03-111-1/+4
| | | | | Setting SPICE_USB_ACL_BINARY allows us to execute a custom mock acl helper binary for testing purposes.
* Rename spice_usb_acl_helper_open_acl() to _open_acl_async()Jonathon Jongsma2016-03-113-18/+18
| | | | | Follow established practice and make the function's behavior more explicit.
* Remove spice_usb_acl_helper_close_acl()Jonathon Jongsma2016-03-113-18/+0
| | | | | | This function is now only called after the open_acl() task completes, and in that scenario it basically does the same thing that the SpiceUsbAclHelper destructor does, so it's pointless. Remove it.
* usb-acl-helper: Avoid deadlock when cancelledJonathon Jongsma2016-03-111-1/+1
| | | | | | | | | | | cancelled_cb() (which is triggered when the GCancellable's "cancelled" signal is emitted) called spice_usb_acl_helper_close_acl(), which calls spice_usb_acl_helper_cleanup(), which in turn calls g_cancellable_disconnect(). Calling g_cancellable_disconnect() from within a "cancelled" handler results in a dealock, as mentioned in the documentation. Instead of closing the acl here, simply cancel the task here. The cleanup() call will happen when the SpiceUsbAclHelper object is destroyed.