Fixed #8054: multimonitor settings

This commit is contained in:
Armin Novak 2022-07-07 16:06:54 +02:00 committed by akallabeth
parent 3478051f15
commit b2df9207e4
2 changed files with 7 additions and 3 deletions

View File

@ -372,6 +372,9 @@ BOOL xf_detect_monitors(xfContext* xfc, UINT32* pMaxWidth, UINT32* pMaxHeight)
* command-line */
{
int i;
UINT32 nr = 0;
if (settings->MonitorIds)
nr = settings->MonitorIds[0];
for (i = 0; i < vscreen->nmonitors; i++)
{
@ -414,7 +417,7 @@ BOOL xf_detect_monitors(xfContext* xfc, UINT32* pMaxWidth, UINT32* pMaxHeight)
#endif
if ((UINT32)i == settings->MonitorIds[0])
if ((UINT32)i == nr)
{
settings->MonitorDefArray[nmonitors].is_primary = TRUE;
settings->MonitorLocalShiftX = settings->MonitorDefArray[nmonitors].x;
@ -512,7 +515,8 @@ BOOL xf_detect_monitors(xfContext* xfc, UINT32* pMaxWidth, UINT32* pMaxHeight)
if (settings->NumMonitorIds)
{
/* The first monitor is the first in the setting which should be used */
monitor_index = settings->MonitorIds[0];
if (settings->MonitorIds)
monitor_index = settings->MonitorIds[0];
}
else
{

View File

@ -430,7 +430,7 @@ rdpSettings* freerdp_settings_new(DWORD flags)
if (!freerdp_settings_set_uint32(settings, FreeRDP_MonitorLocalShiftY, 0))
goto out_fail;
if (!freerdp_settings_set_pointer_len(settings, FreeRDP_MonitorIds, NULL, 16))
if (!freerdp_settings_set_pointer_len(settings, FreeRDP_MonitorIds, NULL, 0))
goto out_fail;
if (!settings_get_computer_name(settings))