summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* build: make spice-controller.pc installation conditionalChristophe Fergeau2012-08-081-1/+4
| | | | It shouldn't be installed when controller support is disabled.
* build: generate sym-fileChristophe Fergeau2012-08-083-5/+112
| | | | | | | | | | When -Wl,--version-script is not available, we fallback to using libtool --export-symbols feature, but the needed sym-file is missing from git. This commit adds generation of the sym-file to the update-map-file Makefile target, and adds a sym-file to git. The linker on OSX Lion doesn't like to have non-existing symbols specified in the symbol files it's given, so the symbols need to be split in glib symbols and gtk symbols.
* build: add --enable-smartcard=auto supportChristophe Fergeau2012-08-071-9/+13
| | | | | | | | | | | Currently, when running configure with no arguments, smartcard support is enabled by default, and configure will fail if it cannot find libcacard. This commit adds a --enable-smartcard=auto mode to configure which will use automatically enable smartcard support if libcacard is available, but it will be silently disabled if libcacard is not available. Passing --enable-smartcard will fail if libcacard is not available. Passing --disable-smartcard will always disable smartcard support and will not test for libcacard availability.
* build: make controller build optionalChristophe Fergeau2012-08-072-1/+12
| | | | | | | Apart from the Vala bindings, this is the only part of spice-gtk which requires Vala to be built from git. Since it's only useful when spice-gtk is used in conjunction with an oVirt browser plugin, letting people disabling it will not necessarily cause issues.
* Don't use GDK_THREADS_ENTER/LEAVEMatthias Clasen2012-08-051-2/+2
| | | | | | These macros have been deprecated. The quick fix for now is to just use the functions gdk_threads_enter/leave instead. They are deprecated as well, but deprecated functions don't cause the build to fail (unless you use -Werror).
* Remove "usbredirhost: " prefix from usbredirhost error messagesHans de Goede2012-07-301-2/+7
| | | | | | | | | libusbredirhost prefixes all its messages with "usbredirhhost: ", which is useful when logging to stderr, but not so much when showing the error to the user in an error dialog, so remove the "usbredirhost: " prefix when we store the message in a GError. Signed-off-by: Hans de Goede <hdegoede@redhat.com>
* channel-display: Set monitors_max to 1 on initHans de Goede2012-07-281-0/+1
| | | | | | | | | | | | This fixes remote-viewer with the new multi monitor support not working when connecting to a spice-server without the new multi-monitor support. Before this fix remote-viewer would hit the following g_return_if_fail: (remote-viewer:24787): remote-viewer-CRITICAL **: virt_viewer_session_spice_display_monitors: assertion `monitors->len <= monitors_max' failed Signed-off-by: Hans de Goede <hdegoede@redhat.com>
* spice-widget: release mouse grab on keyboard-grab-inhibitHans de Goede2012-07-281-1/+4
| | | | | | | | | | | | | | | | | | | The purpose of the keyboard-grab-inihbit mechanism is to allow other apps to grab the input while the spice-widget has the focus, mainly when we're going to invoke policykit for usb-redirection, as that the policy-kit agent may want to grab the input. Before this patch we were only inhibitting the keyboard grab, which works fine for vms which are in client mouse mode, but is not enough for vms which are in server mouse mode. This patch also releases the mouse grab on keyboard-grab-inhibit, fixing the policykit dialog not showing (and thus usb redir not working) when running with server mouse mode. Note that this makes the inhibit-keyboard-grab name of the property no longer really cover what it does, but allas it is part of our ABI... Signed-off-by: Hans de Goede <hdegoede@redhat.com>
* Run-time check monitor per display count <= 256Marc-André Lureau2012-07-181-1/+15
| | | | | | | | | Limit range of monitors, to avoid potential crashes lead by invalid received MonitorConfig values (could be misconfigured or misbehaving guest) This is a a client-side implementation limitation. Eventually, the range could be inscreased (or unlimited == 0) in the future...
* Enable the display early when the widget is created0.12.101Marc-André Lureau2012-07-161-1/+1
| | | | | | | | | | | The spice_main_set_display_enabled() function is used to mark the display/monitor config as enabled. In order to simplify client implementation, the widget enables the matching display automatically when the channel mark is received. This is only for legacy reason, and my lack of understanding at that time. It could as well be enabled earlier, when the widget is created. It wasn't really a good decision to disable monitor when the mark is off, which can be toggled when the primary surface is resize for example, and can cause some races..
* Add SpiceDisplay:ready propertyMarc-André Lureau2012-07-162-6/+56
| | | | | | | | | There are several condition to meet in order to have a widget ready to be displayed: the monitor must exist, the area must intersect, and the display mark must be reached. This property will help clients to know when the widget display is ready. Until now, it was relying on the channel mark signal only, and had to deal with the rest of the conditions without much help.
* Handle MonitorsConfig::max_allowedMarc-André Lureau2012-07-161-2/+27
|
* main: send monitor config immediatelyMarc-André Lureau2012-07-161-3/+6
| | | | | The only way this can be called currently is via the main/system coroutine. Remove display timer if any.
* Implement simple monitors alignmentMarc-André Lureau2012-07-161-3/+69
|
* widget: use display monitors configurationMarc-André Lureau2012-07-161-9/+56
| | | | | | Use display::monitors property to manage display area. Call update_area_monitor() to update the widget area depending on monitor configuration
* spicy: disable display when deleting windowMarc-André Lureau2012-07-161-1/+15
|
* spicy: learn to deal with monitorsMarc-André Lureau2012-07-161-14/+85
|
* Make-up a MonitorConfig if the server doesn't provide oneMarc-André Lureau2012-07-161-1/+12
| | | | | This allows easier compatibility for clients that don't have to check and interact differently depending on channel capabilities.
* Handle SPICE_MSG_DISPLAY_MONITORS_CONFIGMarc-André Lureau2012-07-161-0/+33
|
* Don't attempt to draw an invalid areaMarc-André Lureau2012-07-161-2/+4
| | | | If we don't intersect, the area is invalid or of size 0.
* Use monitor_id to compute display_idMarc-André Lureau2012-07-162-4/+17
|
* Document spice_main_send_monitor_config()Marc-André Lureau2012-07-161-0/+9
|
* widget: don't forget to disconnect all signals handlersMarc-André Lureau2012-07-161-90/+32
| | | | | We forgot about display-mark. Use spice_g_signal_connect_object() helper, which will disconnect properly in all circunstances.
* spice_channel_connect() success if state >= CONNECTINGMarc-André Lureau2012-07-161-1/+1
| | | | | | We may have several widget trying to re-connect the channels now. It is fine to return successfully if we are already connecting or connected.
* widget: add monitor property with ctorMarc-André Lureau2012-07-165-3/+52
|
* Claim SPICE_DISPLAY_CAP_MONITORS_CONFIGMarc-André Lureau2012-07-161-0/+1
|
* Add spice_display_get_primary()Marc-André Lureau2012-07-163-1/+51
|
* display: add readonly monitors propertyMarc-André Lureau2012-07-162-0/+38
|
* glib-compat: add g_clear_pointerMarc-André Lureau2012-07-161-0/+20
| | | | A helpful macro from glib 2.34
* Change surface_id to a guint32Marc-André Lureau2012-07-162-3/+3
| | | | That's the correct type used by the protocol.
* widget: add main channel before other channelsMarc-André Lureau2012-07-161-1/+8
| | | | | Make sure that the d->main channel member can be referenced when adding further channels, when we perform their setup.
* Add missing agent cap descriptionMarc-André Lureau2012-07-161-0/+1
|
* display: learn to restrict display to an areaMarc-André Lureau2012-07-164-87/+134
| | | | | | | | | | Each spice widget can now restrict the area of the primary surface they show and interact with by setting the private area member. A nice clean-up would be to seperate an area object that would deal with clipping, input translation and color conversion, but the resulting code would be similar anyway
* widget: simplify redraw callMarc-André Lureau2012-07-161-2/+1
|
* Update spice-commonMarc-André Lureau2012-07-161-0/+0
|
* usb-device-manager: mingw: connect: cleanup device if it's libdev is missingUri Lublin2012-07-161-0/+9
| | | | | | | | For Windows client, when connecting a device to the guest, if a libusb device (libdev) does not exist, cleanup and forget about that device. Most likely, the device was plugged out at driver installation time, and its remove-device event was ignored.
* migration/channel-inputs: reset motion count after migrationYonit Halperin2012-07-121-0/+10
| | | | | | | | The motion count must stay synchronized with the server, otherwise, it is possible that we will stop sending motion events to the server after migration. rhbz#835997
* usb-device-manager: do not try to connect a usb device that was removedUri Lublin2012-07-111-0/+7
| | | | | | | | | If a device that is asked to be shared with the guest, is unplugged out of the machine before being redirected, then let the user know that usbredir of that device failed (and cleanup nicely). For Windows client, the time between request and redir is larger, as it includes the time it takes to install the libusb driver.
* usbutil: be more explicit about usbids_vendor_count usageMarc-André Lureau2012-07-111-4/+5
| | | | | I introduced a regression in the previous patch, counting the usbids_vendor_count from -1 if the previous attempt failed.
* usbutil: fix crash on windowsMarc-André Lureau2012-07-111-2/+15
| | | | | | | | | | | | | | | | | | | | vendor_count is the last access index, the actually count is +1. On Windows, it crashes later on because of corrupted memory. Thanks to valgrind for this precious help: ==4535== Invalid write of size 2 ==4535== at 0x40197E: spice_usbutil_parse_usbids (usbutil.c:170) ==4535== by 0x401CEC: spice_usbutil_load_usbids (usbutil.c:241) ==4535== by 0x4020C6: main (usbutil.c:322) ==4535== Address 0x56b740c is 12 bytes after a block of size 348,160 alloc'd ==4535== at 0x4A0884D: malloc (vg_replace_malloc.c:263) ==4535== by 0x4EAAEBE: g_malloc (gmem.c:159) ==4535== by 0x401847: spice_usbutil_parse_usbids (usbutil.c:156) ==4535== by 0x401CEC: spice_usbutil_load_usbids (usbutil.c:241) ==4535== by 0x4020C6: main (usbutil.c:322) ==4535==
* usbutil: look up usb.ids under g_get_system_data_dirs() by defaultMarc-André Lureau2012-07-112-23/+50
| | | | | | | Simplify a little bit the portability by looking up usb.ids file under g_get_system_data_dirs(). This is how most resources are found under other OS, looking up files under various places, since installation location may vary.
* build: fix make distcheckMarc-André Lureau2012-07-101-1/+2
|
* usb-device-manager: mingw: win driver install callback: add missing ifdefUri Lublin2012-07-101-0/+2
| | | | | | This fixes the following compilation error message (without USE_USBREDIR): usb-device-manager.c:183:13: error: 'spice_usb_device_manager_drv_install_cb' declared 'static' but never defined [-Werror=unused-function]
* win-usb-driver-install: initialize "req" with memsetUri Lublin2012-07-101-1/+2
| | | | | | | | This fixes the following compilation error message: ../../gtk/win-usb-driver-install.c: In function 'spice_win_usb_driver_send_request': ../../gtk/win-usb-driver-install.c:187:5: error: missing braces around initializer [-Werror=missing-braces] ../../gtk/win-usb-driver-install.c:187:5: error: (near initialization for 'req.hdr') [-Werror=missing-braces]
* usb-device-manager: mingw: ignore "remove" udev event when un/installing a ↵Uri Lublin2012-07-101-0/+10
| | | | driver
* usb-device-manager: mingw: keep driver install/uninstall state of a deviceUri Lublin2012-07-101-0/+4
| | | | | Currently only driver install/unsinstall is of interest, such that extra udev events can be ignored.
* usb-device-manager: add 'state' field to SpiceUsbDeviceInfoUri Lublin2012-07-101-0/+37
| | | | | To be used on Win32 to ignore extra udev events received during driver install/uninstall.
* Win32/mingw: win-usb-dev: skip hubsUri Lublin2012-07-101-2/+24
| | | | also skip devices with bad (0) device-address.
* Win32/mingw: usb-device-manager: uninstall win usb driver upon device disconnectUri Lublin2012-07-101-5/+37
|
* win-usb-driver-install: add capability to remove (uninstall) a win usb driverUri Lublin2012-07-102-20/+53
|