On Sun, Apr 21, 2013 at 12:12:46PM +0300, agilboa@xxxxxxxxxx wrote: > On 04/19/2013 12:31 PM, Christophe Fergeau wrote: > >To my eyes, the root cause is that the monitor is disabled, and the way the > >code is laid out does not cope well with disabled monitors. > >After reading > >http://msdn.microsoft.com/en-us/library/windows/desktop/dd162617%28v=vs.85%29.aspx > >I wonder if it would be enough to move the > >LONG ret = ChangeDisplaySettingsEx(dev_info.DeviceName, &dev_mode, NULL, > > CDS_UPDATEREGISTRY | CDS_NORESET, NULL); > > > >call from set_displays() to before setting the custom resolution with > >ExtEscape. This ChangeDisplaySettingsEx call will be done with > >DM_POSITION set in dev_mode->dmFields, and the link above says: > >"To add a display monitor to a multiple-monitor system programmatically, > >set DEVMODE.dmFields to DM_POSITION and specify a position (using > >DEVMODE.dmPosition ) for the monitor you are adding " (I read this as 'this > >call will enable the monitor') > But this exact ChangeDisplaySettingsEx call is already there before > ExtEscape, isn't it? > http://git.app.eng.bos.redhat.com/?p=spice/win/vdagent.git;a=blob;f=vdagent/desktop_layout.cpp;h=bce9ac0e#l256 But dev_mode->dmFields does not necessarily have DM_POSITION at this point. I guess it could always have it as set_pos is always true anyway. Christophe
Attachment:
pgpE2k_f9AQtp.pgp
Description: PGP signature
_______________________________________________ Spice-devel mailing list Spice-devel@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/spice-devel