[Spice-devel] [PATCH spice-gtk 23/25] Handle MonitorsConfig::max_allowed
Marc-André Lureau
marcandre.lureau at gmail.com
Mon Jul 16 04:05:54 PDT 2012
thanks, I updated the patch with your comment changes.
On Mon, Jul 16, 2012 at 8:48 AM, Alon Levy <alevy at redhat.com> wrote:
> On Fri, Jul 13, 2012 at 12:29:20AM +0200, Marc-André Lureau wrote:
>
> I'm not sure how, but it needs to be damn clear that this value can
> change during the client lifetime. Documentation change suggested below.
>
>> ---
>> gtk/channel-display.c | 27 +++++++++++++++++++++++++--
>> spice-common | 2 +-
>> 2 files changed, 26 insertions(+), 3 deletions(-)
>>
>> diff --git a/gtk/channel-display.c b/gtk/channel-display.c
>> index b701d1b..02650e4 100644
>> --- a/gtk/channel-display.c
>> +++ b/gtk/channel-display.c
>> @@ -71,6 +71,7 @@ struct _SpiceDisplayChannelPrivate {
>> gboolean mark;
>> guint mark_false_event_id;
>> GArray *monitors;
>> + guint monitors_max;
>> #ifdef WIN32
>> HDC dc;
>> #endif
>> @@ -83,7 +84,8 @@ enum {
>> PROP_0,
>> PROP_WIDTH,
>> PROP_HEIGHT,
>> - PROP_MONITORS
>> + PROP_MONITORS,
>> + PROP_MONITORS_MAX
>> };
>>
>> enum {
>> @@ -176,6 +178,10 @@ static void spice_display_get_property(GObject *object,
>> g_value_set_boxed(value, c->monitors);
>> break;
>> }
>> + case PROP_MONITORS_MAX: {
>> + g_value_set_uint(value, c->monitors_max);
>> + break;
>> + }
>> default:
>> G_OBJECT_WARN_INVALID_PROPERTY_ID(object, prop_id, pspec);
>> break;
>> @@ -255,6 +261,22 @@ static void spice_display_channel_class_init(SpiceDisplayChannelClass *klass)
>> G_PARAM_STATIC_STRINGS));
>>
>> /**
>> + * SpiceDisplayChannel:monitors-max:
>> + *
>> + * The maximum number of monitors the server or guest supports.
>
> The maximum number of monitors the server or guest supports. May change
> during client lifetime, for instance guest may reboot or dynamically
> adjust this.
>
>> + *
>> + * Since: 0.13
>> + */
>> + g_object_class_install_property
>> + (gobject_class, PROP_MONITORS_MAX,
>> + g_param_spec_uint("monitors-max",
>> + "Max display monitors",
>> + "The maximum number of monitors",
> "The current maximum number of monitors"
>
>> + 1, G_MAXINT16, 1,
>> + G_PARAM_READABLE |
>> + G_PARAM_STATIC_STRINGS));
>> +
>> + /**
>> * SpiceDisplayChannel::display-primary-create:
>> * @display: the #SpiceDisplayChannel that emitted the signal
>> * @format: %SPICE_SURFACE_FMT_32_xRGB or %SPICE_SURFACE_FMT_16_555;
>> @@ -1478,8 +1500,9 @@ static void display_handle_monitors_config(SpiceChannel *channel, SpiceMsgIn *in
>> g_return_if_fail(config != NULL);
>> g_return_if_fail(config->count > 0);
>>
>> - SPICE_DEBUG("monitors config: n: %d", config->count);
>> + SPICE_DEBUG("monitors config: n: %d/%d", config->count, config->max_allowed);
>>
>> + c->monitors_max = config->max_allowed;
>> c->monitors = g_array_set_size(c->monitors, config->count);
>>
>> for (i = 0; i < config->count; i++) {
>> diff --git a/spice-common b/spice-common
>> index 6a9d40f..6bcb4ff 160000
>> --- a/spice-common
>> +++ b/spice-common
>> @@ -1 +1 @@
>> -Subproject commit 6a9d40f7f03756599f4a3880c212a379be9e784e
>> +Subproject commit 6bcb4fff0df7bbc8e708cc9c6022efff06a81ace
>> --
>> 1.7.10.4
>>
>> _______________________________________________
>> Spice-devel mailing list
>> Spice-devel at lists.freedesktop.org
>> http://lists.freedesktop.org/mailman/listinfo/spice-devel
--
Marc-André Lureau
More information about the Spice-devel
mailing list