[Spice-devel] [spice-gtk v2 1/2] Deprecate “color-depth” properties

Victor Toso victortoso at redhat.com
Tue Jan 8 15:22:55 UTC 2019


Hi,

On Tue, Jan 08, 2019 at 04:09:54PM +0100, Christophe Fergeau wrote:
> On Fri, Dec 14, 2018 at 04:29:46PM +0100, Victor Toso wrote:
> > From: Victor Toso <me at victortoso.com>
> > 
> > With commit 1a980f3712 we deprecated some command line options. The
> > color-depth one is the only one which is not used for testing/debug
> > purposes.
> > 
> > The intention of this option is to set guest's video driver color
> > configuration, currently only windows guest agent uses this feature up
> > to Windows 7. Windows 8 and up, setting color depth below 32 would
> > fail. We should not encourage the usage of this feature.
> > 
> > Related: https://bugzilla.redhat.com/show_bug.cgi?id=1543538
> > Related: https://bugzilla.redhat.com/show_bug.cgi?id=1350853
> > 
> > This patch deprecates both SpiceMainChannel::color-depth and
> > SpiceSession::color-depth while ignoring any set/get to it.
> > 
> > Signed-off-by: Victor Toso <victortoso at redhat.com>
> > Acked-by: Christophe Fergeau <cfergeau at redhat.com>
> 
> Still fine with me, though it's indeed a good question that Uri raised,
> whether we want to keep this alive a bit longer for win7 since it's
> still supported by MS.

  | Microsoft ended mainstream support for Windows 7 on January 13,
  | 2015, but extended support won't end until January 14, 2020.

Oh well, IMHO we could remove it for 0.36 but we can do it for
after 0.36 as well.

Thanks for the review
 
> Christophe
> 
> > ---
> >  src/channel-main.c  | 26 +++++++++++++-------------
> >  src/spice-session.c | 12 +++++++-----
> >  2 files changed, 20 insertions(+), 18 deletions(-)
> > 
> > diff --git a/src/channel-main.c b/src/channel-main.c
> > index 4c6bc70..02e2ffd 100644
> > --- a/src/channel-main.c
> > +++ b/src/channel-main.c
> > @@ -89,7 +89,6 @@ struct _SpiceMainChannelPrivate  {
> >      bool                        agent_caps_received;
> >  
> >      gboolean                    agent_display_config_sent;
> > -    guint8                      display_color_depth;
> >      gboolean                    display_disable_wallpaper:1;
> >      gboolean                    display_disable_font_smooth:1;
> >      gboolean                    display_disable_animation:1;
> > @@ -298,7 +297,8 @@ static void spice_main_get_property(GObject    *object,
> >          g_value_set_boolean(value, c->display_disable_animation);
> >          break;
> >      case PROP_DISPLAY_COLOR_DEPTH:
> > -        g_value_set_uint(value, c->display_color_depth);
> > +        spice_info("SpiceMainChannel::color-depth has been deprecated. Property is ignored");
> > +        g_value_set_uint(value, 32);
> >          break;
> >      case PROP_DISABLE_DISPLAY_POSITION:
> >          g_value_set_boolean(value, c->disable_display_position);
> > @@ -331,12 +331,9 @@ static void spice_main_set_property(GObject *gobject, guint prop_id,
> >      case PROP_DISPLAY_DISABLE_ANIMATION:
> >          c->display_disable_animation = g_value_get_boolean(value);
> >          break;
> > -    case PROP_DISPLAY_COLOR_DEPTH: {
> > -        guint color_depth = g_value_get_uint(value);
> > -        g_return_if_fail(color_depth % 8 == 0);
> > -        c->display_color_depth = color_depth;
> > +    case PROP_DISPLAY_COLOR_DEPTH:
> > +        spice_info("SpiceMainChannel::color-depth has been deprecated. Property is ignored");
> >          break;
> > -    }
> >      case PROP_DISABLE_DISPLAY_POSITION:
> >          c->disable_display_position = g_value_get_boolean(value);
> >          break;
> > @@ -551,11 +548,19 @@ static void spice_main_channel_class_init(SpiceMainChannelClass *klass)
> >                                G_PARAM_CONSTRUCT |
> >                                G_PARAM_STATIC_STRINGS));
> >  
> > +    /**
> > +     * SpiceMainChannel:color-depth:
> > +     *
> > +     * Deprecated: 0.36: Deprecated due to lack of support in drivers, only Windows 7 and older.
> > +     * This option is currently ignored.
> > +     *
> > +     **/
> >      g_object_class_install_property
> >          (gobject_class, PROP_DISPLAY_COLOR_DEPTH,
> >           g_param_spec_uint("color-depth",
> >                             "Color depth",
> >                             "Color depth", 0, 32, 0,
> > +                           G_PARAM_DEPRECATED |
> >                             G_PARAM_READWRITE |
> >                             G_PARAM_CONSTRUCT |
> >                             G_PARAM_STATIC_STRINGS));
> > @@ -1138,7 +1143,7 @@ gboolean spice_main_channel_send_monitor_config(SpiceMainChannel *channel)
> >                  j++;
> >              continue;
> >          }
> > -        mon->monitors[j].depth  = c->display_color_depth ? c->display_color_depth : 32;
> > +        mon->monitors[j].depth  = 32;
> >          mon->monitors[j].width  = c->display[i].width;
> >          mon->monitors[j].height = c->display[i].height;
> >          mon->monitors[j].x = c->display[i].x;
> > @@ -1302,11 +1307,6 @@ static void agent_display_config(SpiceMainChannel *channel)
> >          config.flags |= VD_AGENT_DISPLAY_CONFIG_FLAG_DISABLE_ANIMATION;
> >      }
> >  
> > -    if (c->display_color_depth != 0) {
> > -        config.flags |= VD_AGENT_DISPLAY_CONFIG_FLAG_SET_COLOR_DEPTH;
> > -        config.depth = c->display_color_depth;
> > -    }
> > -
> >      CHANNEL_DEBUG(channel, "display_config: flags: %u, depth: %u", config.flags, config.depth);
> >  
> >      agent_msg_queue(channel, VD_AGENT_DISPLAY_CONFIG, sizeof(VDAgentDisplayConfig), &config);
> > diff --git a/src/spice-session.c b/src/spice-session.c
> > index 7ea1c21..682c3d9 100644
> > --- a/src/spice-session.c
> > +++ b/src/spice-session.c
> > @@ -83,7 +83,6 @@ struct _SpiceSessionPrivate {
> >  
> >      GStrv             disable_effects;
> >      GStrv             secure_channels;
> > -    gint              color_depth;
> >  
> >      int               connection_id;
> >      int               protocol;
> > @@ -668,7 +667,8 @@ static void spice_session_get_property(GObject    *gobject,
> >          g_value_set_boxed(value, s->secure_channels);
> >          break;
> >      case PROP_COLOR_DEPTH:
> > -        g_value_set_int(value, s->color_depth);
> > +        spice_info("SpiceSession::color-depth has been deprecated. Property is ignored");
> > +        g_value_set_int(value, 0);
> >          break;
> >      case PROP_AUDIO:
> >          g_value_set_boolean(value, s->audio);
> > @@ -808,7 +808,7 @@ static void spice_session_set_property(GObject      *gobject,
> >          s->secure_channels = g_value_dup_boxed(value);
> >          break;
> >      case PROP_COLOR_DEPTH:
> > -        s->color_depth = g_value_get_int(value);
> > +        spice_info("SpiceSession::color-depth has been deprecated. Property is ignored");
> >          break;
> >      case PROP_AUDIO:
> >          s->audio = g_value_get_boolean(value);
> > @@ -1106,6 +1106,9 @@ static void spice_session_class_init(SpiceSessionClass *klass)
> >       * Display color depth to set on new display channels. If 0, don't set.
> >       *
> >       * Since: 0.7
> > +     *
> > +     * Deprecated: 0.36: Deprecated due to lack of support in drivers, only Windows 7 and older.
> > +     * This option is currently ignored.
> >       **/
> >      g_object_class_install_property
> >          (gobject_class, PROP_COLOR_DEPTH,
> > @@ -1113,6 +1116,7 @@ static void spice_session_class_init(SpiceSessionClass *klass)
> >                            "Color depth",
> >                            "Display channel color depth",
> >                            0, 32, 0,
> > +                          G_PARAM_DEPRECATED |
> >                            G_PARAM_READWRITE |
> >                            G_PARAM_STATIC_STRINGS));
> >  
> > @@ -2224,8 +2228,6 @@ void spice_session_channel_new(SpiceSession *session, SpiceChannel *channel)
> >                       "disable-font-smooth", all || spice_strv_contains(s->disable_effects, "font-smooth"),
> >                       "disable-animation", all || spice_strv_contains(s->disable_effects, "animation"),
> >                       NULL);
> > -        if (s->color_depth != 0)
> > -            g_object_set(channel, "color-depth", s->color_depth, NULL);
> >  
> >          CHANNEL_DEBUG(channel, "new main channel, switching");
> >          s->cmain = channel;
> > -- 
> > 2.19.2
> > 
> > _______________________________________________
> > Spice-devel mailing list
> > Spice-devel at lists.freedesktop.org
> > https://lists.freedesktop.org/mailman/listinfo/spice-devel


-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: not available
URL: <https://lists.freedesktop.org/archives/spice-devel/attachments/20190108/31c4cb09/attachment.sig>


More information about the Spice-devel mailing list