[Spice-devel] [PATCH spice-gtk 25/25] Enable the display early when the widget is created

Marc-André Lureau marcandre.lureau at gmail.com
Thu Jul 12 15:29:22 PDT 2012


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..
---
 gtk/spice-widget.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/gtk/spice-widget.c b/gtk/spice-widget.c
index a874fd4..e4a7136 100644
--- a/gtk/spice-widget.c
+++ b/gtk/spice-widget.c
@@ -1781,7 +1781,6 @@ static void mark(SpiceDisplay *display, gint mark)
 
     SPICE_DEBUG("widget mark: %d, %d:%d %p", mark, d->channel_id, d->monitor_id, display);
     d->mark = mark;
-    spice_main_set_display_enabled(d->main, get_display_id(display), d->mark != 0);
     update_ready(display);
 }
 
@@ -1954,6 +1953,7 @@ static void channel_new(SpiceSession *s, SpiceChannel *channel, gpointer data)
             mark(display, primary.marked);
         }
         spice_channel_connect(channel);
+        spice_main_set_display_enabled(d->main, get_display_id(display), TRUE);
         return;
     }
 
-- 
1.7.10.4



More information about the Spice-devel mailing list