summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* Move auto-connect logic in Audio base classMarc-André Lureau2011-12-016-74/+245
|
* Make UsbDeviceManager main-context a boxed propertyMarc-André Lureau2011-12-011-6/+12
|
* Fix get_type() with --disable-smartcardMarc-André Lureau2011-11-261-1/+2
| | | | | | | | | | | | It's quite a bad hack, but I can't think of anything really better Without this patch, g-ir-scanner introspection hangs with: GLib-GObject-CRITICAL **: g_boxed_type_register_static: assertion `boxed_copy != NULL' failed GLib-CRITICAL **: g_once_init_leave: assertion `result != 0' failed GLib-GObject-WARNING **: gsignal.c:1585: parameter 1 of type `<invalid>' for sig nal "SpiceSmartcardManager::reader_added" is not a value type
* Do not send specific messages in read-onlyMarc-André Lureau2011-11-237-3/+44
|
* Check if msg are permitted to be sent in read-onlyMarc-André Lureau2011-11-232-2/+34
|
* Add read-only property on sessionsMarc-André Lureau2011-11-236-2/+56
| | | | | | | It is useful to have a way to prevent sending commands in read-only sessions (think of multi-client) No clipboard sharing allowed in this case in gtk-session.
* Add disable-inputs on Spice widgetMarc-André Lureau2011-11-233-16/+79
|
* cleanup: the try_grab() functions should take a SpiceDisplayMarc-André Lureau2011-11-231-16/+15
|
* Fix a few g-ir-scanner warningsMarc-André Lureau2011-11-233-1/+16
|
* Export spice_g_signal_connect_objectMarc-André Lureau2011-11-234-6/+6
| | | | The helper needs to be accessible from spice-client-gtk too.
* Regenerate map-file correctlyMarc-André Lureau2011-11-232-13/+13
| | | | We should use update-map-file instead of modifying it manually
* Release our keyboard grab when we're going to invoke the usb acl helperHans de Goede2011-11-215-0/+56
| | | | | | | | | | | | | The usb acl helper asks policykit, which may want to interact with the user through the policykit agent, which wants to grab the keyboard, if we then have the keyboard grabbed, the agent says authentication has failed, policykit rejects the helper opening up the acl and usbredir won't work. Unfortunately the only way to work around this is to temporarily release our own keyboard grab, not pretty but as discussed on irc, this is the "best" solution. Signed-off-by: Hans de Goede <hdegoede@redhat.com>
* Add a suid root helper to open usb device nodesHans de Goede2011-11-168-8/+845
| | | | | | | | | | | | | | | | spice-client needs to be able to open the device nodes under /dev/bus/usb to be able to redirect a usb device to the guest. Normally opening these nodes is only allowed by root. This patch adds a suid root helper which asks policykit if it is ok to grant raw usb device access, and if policykit says it is ok, opens up the acl so that the spice-client can open the device node. As soon as spice-client closes the stdin of the helper, the helper removes the extra rights. This ensures that the acl gets put back to normal even if the spice client crashes. Normally the spice-client closes stdin directly after opening the device node. Signed-off-by: Hans de Goede <hdegoede@redhat.com>
* channel-usbredir: Make spice_usbredir_channel_connect asyncHans de Goede2011-11-163-19/+73
| | | | | | | | | | | | | With the (upcoming) introduction of the usb device node acl helper, which uses policykit, spice_usbredir_channel_connect() may take a long time as it will be waiting for the helper, which will be waiting for policykit which may be interacting with the user -> Make spice_usbredir_channel_connect() async Note that this patch only changes spice_usbredir_channel_connect's API to use the standard GIO async API, it is not actually async after this patch since it does not yet call the acl helper. Signed-off-by: Hans de Goede <hdegoede@redhat.com>
* usb-device-manager: Make spice_usb_device_manager_connect_device asyncHans de Goede2011-11-166-36/+94
| | | | | | | | | | | | | | | With the (upcoming) introduction of the usb device node acl helper, which uses policykit, spice_usbredir_channel_connect() may take a long time as it will be waiting for the helper, which will be waiting for policykit which may be interacting with the user. So spice_usbredir_channel_connect() will need to become async, and since spice_usb_device_manager_connect_device calls spice_usbredir_channel_connect it thus also needs to become async. Note that this patch only changes spice_usb_device_manager_connect_device's API to use the standard GIO async API, it is not actually async after this patch since spice_usbredir_channel_connect is not yet async. Signed-off-by: Hans de Goede <hdegoede@redhat.com>
* channel-usbredir: Move usb device opening into a helper functionHans de Goede2011-11-161-15/+29
| | | | | | This is a preparation patch for adding the usb device node acl helper Signed-off-by: Hans de Goede <hdegoede@redhat.com>
* channel-usbredir: Do disconnect from dispose instead of from finalizeHans de Goede2011-11-161-5/+6
| | | | Signed-off-by: Hans de Goede <hdegoede@redhat.com>
* channel-usbredir: Fixup and simplify #ifdef USE_USBREDIR handlingHans de Goede2011-11-161-24/+21
| | | | | | | glib does not like it when objects have a private data size of 0, so don't declare any private data when compiling without USE_USBREDIR set. Signed-off-by: Hans de Goede <hdegoede@redhat.com>
* Correct Since tag for SpiceSession:enable-usbredir:Hans de Goede2011-11-161-1/+1
| | | | | | | This was introduced post 0.7, and given the major changes done in git sofar the next release will be 0.8 rather then 0.7.1 Signed-off-by: Hans de Goede <hdegoede@redhat.com>
* Use correct GLib macrosChristophe Fergeau2011-11-093-7/+8
|
* Mark deprecated props/signals/functionsMarc-André Lureau2011-11-074-6/+18
|
* Remove g_object_{set,get}_data() usageMarc-André Lureau2011-11-075-88/+72
| | | | This is not really clean, as it may conflict with client usage
* Drop useless memsetMarc-André Lureau2011-11-0711-28/+6
| | | | Private data in GObject's is initialized to 0's upon constuction
* Use G_PARAM_CONSTRUCT for property initial valueMarc-André Lureau2011-11-071-4/+2
|
* Add missing include of spice-audioMarc-André Lureau2011-11-051-0/+1
|
* Add session enable-audio propertyMarc-André Lureau2011-11-053-4/+43
| | | | Create audio channels only if enable-audio is TRUE
* SpiceAudio stream name default to get_application_name()Marc-André Lureau2011-11-051-4/+5
|
* Add spice_audio_get()Marc-André Lureau2011-11-053-3/+37
| | | | | | | | | | | | | We are going to deprecate spice_audio_new() some day. There are a few know problems: - SpiceAudio is an abstract class, so it can't have a ctor - SpiceAudio should be a singleton, associated with the session lifetime - SpiceSession should have a enable-audio property, internal code should be able to access the audio object That way of getting the audio object is similar to the smartcard manager and usb manager.
* Return NULL if taking screenshot failsMarc-André Lureau2011-11-031-0/+4
| | | | | It can happen if the display is not yet ready. This change just removes a couple of warnings.
* Fix package `SpiceClientGLib-2.0' not foundMarc-André Lureau2011-11-031-0/+1
|
* Correctly parse RFC-conform URIs separating the host and the arguments by a '/'Tiziano Müller2011-11-021-0/+4
| | | | | | | | | | | | | | | | Little patch to make spice-gtk accept RFC-conform URLs of the form "spice://host/?port=5901". I didn't add '/' to the list of the other characters to ignore (?;&) by intention since an URL like spice://host/?port=5901/somotherstuff should not be valid, resp. the password may contain '/' because the string is already unescaped at that point. Unfortunately glib does not seem to have functions to 'explode' an URI which would be really helpful. Cheers, Tiziano
* gtk-session: add more checksMarc-André Lureau2011-11-021-17/+45
|
* Add missing spice-gtk-session.h in spice-widget.hMarc-André Lureau2011-10-281-0/+1
|
* Add vapi bindings generationMarc-André Lureau2011-10-253-1/+41
|
* Fix missing dispose() chain-upMarc-André Lureau2011-10-211-0/+2
|
* do not segfault if link message header size is set to 0Marc-André Lureau2011-10-191-0/+5
| | | | https://bugs.freedesktop.org/show_bug.cgi?id=41988
* Add SPICE_NOGRAB environment variable for debuggingMarc-André Lureau2011-10-111-0/+6
|
* gtk: channel-event emit an enumMarc-André Lureau2011-10-111-2/+2
| | | | This doesn't break ABI, as int and enum are compatible at glib level.
* gtk: warn if argument is invalid instead of crashMarc-André Lureau2011-10-111-0/+3
|
* Add spice-gtk-session-priv.h to make dist outputHans de Goede2011-10-101-0/+1
| | | | | | Brown paper bag bug number 2 wrt spice-gtk-session-priv.h, sorry about this. Signed-off-by: Hans de Goede <hdegoede@redhat.com>
* Add missing spice-gtk-session-priv.h fileHans de Goede2011-10-101-0/+30
| | | | | | This file was missing from the previous commit, my bad. Signed-off-by: Hans de Goede <hdegoede@redhat.com>
* Make auto-usbredir a session setting rather then a per display settingHans de Goede2011-10-104-43/+62
| | | | Signed-off-by: Hans de Goede <hdegoede@redhat.com>
* spicy: Stop using SpiceDisplay's deprecated clipboard methodsHans de Goede2011-10-101-17/+60
| | | | Signed-off-by: Hans de Goede <hdegoede@redhat.com>
* SpiceDisplay: mark clipboard properties and functions as deprecatedHans de Goede2011-10-102-12/+19
| | | | | | The SpiceGtkSession ones should be used instead. Signed-off-by: Hans de Goede <hdegoede@redhat.com>
* SpiceDisplay: Don't set auto-clipboard on constructionHans de Goede2011-10-101-1/+0
| | | | | | | | | The auto-clipboard setting now lives in the SpiceGtkSession, if that was changed to FALSE (from the default of TRUE) and later a SpiceDisplay was created for this session that would change it back to TRUE again because it would set it to its default from its constructor. This patch fixes this. Signed-off-by: Hans de Goede <hdegoede@redhat.com>
* Remove auto-generated .gitignore files from gitHans de Goede2011-10-104-201/+0
| | | | | | | Auto-generated files do not belong in git. Having these in git causes changes to them accidentally ending up in other commits. Signed-off-by: Hans de Goede <hdegoede@redhat.com>
* Fix compilation of python bindingsHans de Goede2011-10-101-0/+1
| | | | | | This was broken by the addition of SpiceGtkSession. Signed-off-by: Hans de Goede <hdegoede@redhat.com>
* decode-glz: Handle needing glz images before they have arrivedHans de Goede2011-10-071-9/+12
| | | | | | | | | | | | | | | | | | | | | | With multi monitor guests, it is possible for a glz-image to refer to bits from another glz-image which has not arrived yet! This can happen because each monitor has its own display channel, and thus its own socket, but they share the glz dict. Thus things can arrive out of order, with a glz-image on display 1 arriving before the glz-image on display 2 which it refers too. This triggers the: g_return_val_if_fail(w->images[slot]->hdr.id == id - dist, NULL); In glz_decoder_window_bits(), which is what caused me to debug this, once the out order thing was clear, so was the fix. If w->images[slot]->hdr.id == id - dist is not true, we need to wait for the correct image to arrive. The out of order issue with multiple monitors can also trigger the g_warn_if_reached() in glz_decoder_window_resize(), so remove that. Signed-off-by: Hans de Goede <hdegoede@redhat.com>
* SpiceDisplay: Pass on notify signal from GtkSession for GtkSession propertiesHans de Goede2011-10-072-0/+32
| | | | | | | | | | | | Since some SpiceDisplay properties are now just a pass through to the equivalent SpiceGtkSession property, we also need to pass on the notify signal for these, so interested users can get notified of them changing. Use this in spicy to ensure that changes to SpiceGtkSession (and thus per session rather then per window) properties get reflected in all windows for a multimonitor guest. Signed-off-by: Hans de Goede <hdegoede@redhat.com>
* usb-device-manager: One instance per session instead of a singletonHans de Goede2011-10-076-111/+125
| | | | | | | | | | | | Since usb device manager keeps track of which usb channels there are and if they have usb devices attached there should be one usb-device-manager instance per session, rather then one global singleton. Tying the usb-device-manager to the session also allows us to get rid of spice_usb_device_manager_[un]register_channel and the need for SpiceDisplay to call these. Signed-off-by: Hans de Goede <hdegoede@redhat.com>