On Wed, Oct 9, 2013 at 10:09 PM, Jonathon Jongsma <jjongsma@xxxxxxxxxx> wrote: > Freezing property notifications prevents VirtViewerDisplaySpice from > synchronizing its fullscreen/auto-resize state with the base class until after > the notifications are thawed. During the time that notifications were frozen, > an allocation happens. The action we take on an allocation event depends on the > current state of the auto_resize variable, so this can result in an unwanted > resize. > --- Originally, the freeze/thaw was precisely to avoid extra transient state handlers. I don't know what a "less fragile" code for all this would look like (tests would be something ;), but I would tend to lean on code that wouldn't depend on the order of events, but just on current state (ideally). Since it's supposed to be a simple optimization, and it should work regardless it is there or not, ack. Have you thought about setting the fullscreen/auto_resize state somehow at creation time, or using direct setter (not gobject properties) > src/virt-viewer-session-spice.c | 4 ---- > 1 file changed, 4 deletions(-) > > diff --git a/src/virt-viewer-session-spice.c b/src/virt-viewer-session-spice.c > index d9b4f88..b42d48e 100644 > --- a/src/virt-viewer-session-spice.c > +++ b/src/virt-viewer-session-spice.c > @@ -629,7 +629,6 @@ virt_viewer_session_spice_display_monitors(SpiceChannel *channel, > g_ptr_array_index(displays, i) = g_object_ref(display); > } > > - g_object_freeze_notify(G_OBJECT(display)); > virt_viewer_session_add_display(VIRT_VIEWER_SESSION(self), > VIRT_VIEWER_DISPLAY(display)); > } > @@ -647,9 +646,6 @@ virt_viewer_session_spice_display_monitors(SpiceChannel *channel, > monitor->width, monitor->height); > } > > - for (i = 0; i < monitors_max; i++) > - g_object_thaw_notify(g_ptr_array_index(displays, i)); > - > g_clear_pointer(&monitors, g_array_unref); > > } > -- > 1.8.3.1 > > _______________________________________________ > virt-tools-list mailing list > virt-tools-list@xxxxxxxxxx > https://www.redhat.com/mailman/listinfo/virt-tools-list -- Marc-André Lureau _______________________________________________ virt-tools-list mailing list virt-tools-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/virt-tools-list