summaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
...
* docs: Fix typosPavel Grunt2015-09-256-9/+9
|
* docs: Add missing symbol description stringsPavel Grunt2015-09-2521-14/+194
|
* docs: Description should be above 'Return'Pavel Grunt2015-09-251-4/+4
|
* docs: Add missing parameter/field descriptionsPavel Grunt2015-09-2514-48/+59
|
* docs: Add Version Information sectionPavel Grunt2015-09-251-0/+2
|
* channel-main: Rename parameter to match docsPavel Grunt2015-09-251-2/+2
|
* channel-record: Use correct nick name for propertyPavel Grunt2015-09-251-2/+2
|
* Add "monitors config position" capability.sstuts2015-09-181-0/+2
| | | | | | | | | | | | | | | | This will allow Windows guests to determine if the client supports a monitors_config message from a multi-monitor guest that is not multi-headed, i.e., that has one monitor per driver. It keeps commit:8b0cd321d5a4d08ccba5845c5f2206e6f8032c1d from breaking if an updated win-qxl driver is paired with an older client. This resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1248189 --- Changed from v1: Removed a local commit that preceded this one. --- Changed from v2: Changed name to "monitors config position" ---
* Don't send monitors config when Display widget is createdJonathon Jongsma2015-09-101-14/+24
| | | | | | | | | | | | | | | | | | | When a display channel is associated with a particular SpiceDisplay widget, it previously set the display to 'enabled' unconditionally. There is a couple of problems with this behavior. First, simply because a display widget has an associated display channel, it doesn't necessarily mean that the display is enabled. On linux guests, for instance, a display channel can have up to 4 displays for one channel, and perhaps only one of them is enabled. So, we shouldn't set the display to 'enabled' until we actually receive a monitors configuration message indicating that this display is enabled. The second problem is that this was triggering the client to send down a new monitors-config message to the server. This message is completely unnecessary since it is triggered by a message from the server. We should only be sending down new monitor configurations in response to changes from the client, not from the server.
* Add spice_main_update_display_enabled()Jonathon Jongsma2015-09-104-8/+35
| | | | | | | | | | | | | | | | This is a new function that allows the caller to decide whether to send the new status down to the server or not (analogous to the difference between spice_main_set_display() vs spice_man_update_display()). This new function is needed to reduce unnecessary MonitorsConfig messages from being sent to the server. Because spice-gtk does not maintain any display state internally, it depends on the application to maintain that state. Some state changes come from the server itself (e.g. the guest has changed resolution due to some activity within the guest), and some come from the application (e.g. the user has resized the window of the client). Changes that come from server updates do not need to be sent back down to the server, whereas those that originate from the application *do* need to be sent to the server.
* file-xfer: Simplify time handlingPavel Grunt2015-09-091-17/+9
| | | | | | Use g_get_monotonic_time() instead of g_date_time_new_now_local(). g_get_monotonic_time doesn't suffer discontinuities and it is sufficient for our purposes. There is no need for the complexity of GDateTime.
* audio: Do not volume-sync without audioVictor Toso2015-09-082-2/+8
| | | | | | | In case audio backend is not initialized correctly or there isn't audio in the VM, we should not try to volume-sync. Fixes: https://bugzilla.redhat.com/show_bug.cgi?id=1257210
* file-xfer: Add debug messages about a file transfer progressPavel Grunt2015-08-251-0/+46
| | | | | | | | | | During the file transfer debug messages about the progress are printed every 20 seconds for each of the file transfer tasks. Fixes: https://bugzilla.redhat.com/show_bug.cgi?id=1140512 Acked-by: Frediano Ziglio <fziglio@redhat.com>
* glib-compat: Add g_format_sizePavel Grunt2015-08-252-0/+65
| | | | | | | | | g_format_size_for_display is deprecated since glib 2.30. See glib commit afd1e3697065c1bd23fe9a1cacf43d8744d0bc9b g_format_size will be used in the following commit Acked-by: Frediano Ziglio <fziglio@redhat.com>
* session: update spice_session_connect() docMarc-André Lureau2015-08-211-1/+5
| | | | | | | | Update the documentation about the return value, and how to watch for connection success. Releated to: https://bugzilla.redhat.com/show_bug.cgi?id=1253848
* Adjust to new SpiceImageCompress nameChristophe Fergeau2015-08-143-29/+29
| | | | | | | | This has been renamed to SpiceImageCompression in order to avoid clashes with older spice-server in the SPICE_IMAGE_COMPRESS_ namespace. This commit is a straight rename of SpiceImageCompress to SpiceImageCompression and SPICE_IMAGE_COMPRESS_ to SPICE_IMAGE_COMPRESSION_
* usbredir: Add a few debug logsChristophe Fergeau2015-08-052-3/+14
| | | | | | | | Currently, spice-gtk debugging logs contain no traces of the values of the auto-redir/redir-on-connect filter, and it does not tell you about the vid/pid of the devices being connected/redirected. This commit adds the appropriate SPICE_DEBUG/CHANNEL_DEBUG calls so that this data is logged.
* channel: Don't warn when no CA is setChristophe Fergeau2015-08-051-1/+0
| | | | | | | | | Since v0.22~19 "Use system-wide trust certificate store", when neither SpiceSession::ca-file nor SpiceSession::ca are set, the system-wide CA store will be used to validate the SPICE certificates. However, there is still a g_warn_if_fail() checking that either ca or ca-file are set, which causes a runtime warning when trying to use the system-wide store. This commit removes it.
* Notify about existence of monitor for all display channelsPavel Grunt2015-08-031-4/+2
| | | | | | | | Windows guest can have disabled display on the display chanel #0, in that case it will not be listed in virt-viewer's "View->Displays" menu Resolves: https://bugs.freedesktop.org/show_bug.cgi?id=91489
* Handle single headed monitors that have a non-zero x, y configSandy Stutsman2015-07-281-1/+6
| | | | | | | | | | Each monitor on a Windows guest is represented as a separate, single-headed device with its own framebuffer. When there are multiple monitors, all monitors but one will have a non-zero xy config position. But even in these cases the whole area (frame-buffer) of each monitor should be updated. Addresses: https://bugzilla.redhat.com/show_bug.cgi?id=1202419
* Use g_return_val_if_fail instead of wrong g_return_if_failPavel Grunt2015-07-131-1/+1
| | | | | | The commit 4b5e6ec2114e1250c81027ebeac9cfe8d059153f introduced a function returning gboolean, g_return_val_if_fail() should be used instead of g_return_if_fail().
* Send monitor config if at least one monitor has dimensionsPavel Grunt2015-07-131-0/+21
| | | | | | | | | | | | | If a client (virt-manager, spicy) is not setting display dimensions and the "resize-guest" property is disabled, spice-gtk sends a wrong monitor config message where all the monitors have width = heigh = 0 when the agent connects. This message can confuse the guest, in that case the guest will change the resolution of its monitor. Regression since 28312b8d1e287a320851e8828825f2ca138d8b0b Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1240721
* This adds reference counting to cached images.Sandy Stutsman2015-07-102-15/+47
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Windows guests with multi-monitors will often send down the same image via different channels. If these instances are not counted, one channel can delete an image before all the rest of the channels are finished with it. In this case, the client will hang. This can happen, for instance, when the Windows guest is updating the monitor's wallpaper. There is a driver instance for each monitor, so each one is sending down its own copy of the same image with the same id. As one channel may be busier than another, the order that the client executes commands may not be the same order as the server issued them. Here's what can happen: On the server side: Monitor 1 sends image A Monitor 1 sends multiple rendering commands for image A Monitor 1 removes image A Monitor 2 sends image A Monitor 2 sends rendering commands for image A On the client side: Monitor 1 adds image A to the cache Monitor 1 starts rendering with image A Monitor 2 adds image A to the cache - has same id, so image is replaced Monitor 1 removes image A - image A is completely removed from cache Monitor 2 render command hangs waiting for image A Addresses bug: https://bugzilla.redhat.com/show_bug.cgi?id=1194354
* Make monitors config debug output more clearJonathon Jongsma2015-06-302-2/+3
| | | | | | | Indicate whether the monitors config debug output is from sending or receiving new monitors configuration. You can tell this by looking at which channel is involved (main vs display), but making it more explicit is helpful for glancing through logs.
* Display: Send a preferred compression message on init.Javier Celaya2015-06-291-0/+11
| | | | | If the user prefers a specific compression algorithm, report it when setting up the display channel.
* Add a preferred-compression program optionJavier Celaya2015-06-291-0/+37
|
* Spice-session: Add preferred-compression property.Javier Celaya2015-06-291-0/+58
| | | | | Also, depend on the spice-common commit that introduces the SpiceImageCompress enum.
* Send monitor config if guest supports sparse monitorsPavel Grunt2015-06-251-8/+9
| | | | | | | | | | It is ok to send monitor configuration even for displays which are not disabled or enabled. Because the guest having support for the sparse monitor configuration (VD_AGENT_CAP_SPARSE_MONITORS_CONFIG) will not resize the monitor which is disabled / undefined. Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=90914
* channel-main: Use enum to describe display statePavel Grunt2015-06-251-10/+14
|
* spicy-*: Remove translation supportChristophe Fergeau2015-06-194-79/+64
| | | | | These are only meant to be test tools so they don't need to be translated.
* spicy: Enable recent chooser on windowsLukas Venhoda2015-06-182-10/+0
| | | | Recent chooser is working correctly in windows.
* spicy: Replace duplicated code with a for loopLukas Venhoda2015-06-181-11/+6
| | | | Changed piece of code working with fixed size array into a for loop.
* spicy: Host and port (or tls) are now requiredLukas Venhoda2015-06-181-5/+27
| | | | | Connect button is now non-sensitive when host and port (or tls) entry is empty. Pressing enter will now also NOT connect, when the entries are empty.
* spicy: Fixed reselecting in recent chooserLukas Venhoda2015-06-181-0/+11
| | | | | | | | | | | | Selecting an entry in the recent connections list, and then modifying the host/port/TLS port, and double-clicking on that same entry in the list would cause spicy to connect to the edited address rather than the one which was picked in the recent chooser. After this commit, the selection will be cleared from the recent chooser, and double-clicking on an entry after editing it will always trigger a 'selection-changed' signal, which will properly set the address to connect to.
* spicy: Changed the dialog into a windowLukas Venhoda2015-06-183-38/+120
| | | | | | | | | Changed connect dialog from GtkDialog to GtkWindow. Added the necessary signals and buttons, to keep then behaviour of a dialog (ESC to close, ENTER to submit). spicy_connect_dialog now returns TRUE and FALSE instead of 0 and -1.
* spicy: Move connect dialog to its own fileLukas Venhoda2015-06-184-125/+175
| | | | | | | | Connect dialog from spicy is now in its own file. Renamed connect_dialog to spicy_connect_dialog. Added new file for translation.
* spice-widget: keypress-delay set by env varVictor Toso2015-06-181-1/+9
|
* channel: check too long passwordMarc-André Lureau2015-06-151-29/+48
| | | | | Make sure that the password length is under the maximum lenght. If not report it as an authentication failure with an adapted message.
* webdav: keep phodav requirements inside USE_PHODAVVictor Toso2015-06-091-0/+4
| | | | | | | | | Commit 33d4016228798108250b0ef9173f2c4c719a5065 uses g_output_stream_write_all_async/finish which is on gio 2.44 version. This breaks the build on older systems even if --disable-webdav is used. Using #USE_PHODAV to wrap those functions that will not be called without --enable-webdav.
* spice-widget: Do not update display when resize-guest is disabledFabiano Fidêncio2015-06-091-4/+0
| | | | | | | | | | Updating the display causes weird behaviors in virt-viewer, like re-resizing to a previous monitor config when, after changing the display resolution (through System > PReferences > Displays). the agent reconnects. It is not perfect yet, because when the agent reconnects the guest resizes to the previous config and switch to the proper one, but this seems more like an agent bug than a spice-gtk one.
* channel: use class private handlers fieldMarc-André Lureau2015-06-084-11/+21
| | | | | | | | | Since spice-gtk requires glib 2.28, we can now fix a small FIXME. Since G_TYPE_CLASS_GET_PRIVATE is a bit expensive, it's still worth to cache it in klass->priv. However, there is no good place I can think of to put this. (channel_class_init() is called only once, and not per each subclass)
* Move gtk/ -> src/Marc-André Lureau2015-06-08148-0/+44180
For historical reasons, the code was placed under gtk/ subdirectory. If it was always bugging you, bug no more!