- May 29, 2021
- 2
- 3
- Home Country
-
United States of America
- MP2 Version
Before you create this bug report:
Please always include log files with your Bug Report!
Check out our Wiki: Bug Reports and Log Files
==================================================================
Describe the Problem you encounter as detailed as possible! "It does not work" won't help the team to understand the problem.
Description:
I noticed on github.com that in MediaPortal-2/MediaPortal/Source/UI/Players/RefreshRateChanger/RefreshRateChanger.cs, there seems to be an assumption that the source and target of each path will appear at adjacent indices in _modeInfoArray, e.g. around line 402:
This is generally true, but not always. Specifically, when a display is configured to duplicate another display (rather than extend the desktop).
For example, with three GDI displays mapped to three different monitors, you'll get this from
PathIdx | SrcModeIdx | TgtModeIdx
---------+------------+------------
0 | 1 | 0
1 | 3 | 2
2 | 5 | 4
...but if you set the second monitor to duplicate the first (primary) display, you get this:
PathIdx | SrcModeIdx | TgtModeIdx
---------+------------+------------
0 | 1 | 0
1 | 1 | 2
2 | 4 | 3
Note that the duplicating display also messes up the [target, source] ordering assumed by the current code.
You should be able to confirm this by testing on a system with multiple monitors (two or more), and using Display settings to configure the second display to Duplicate the first (primary) display. If you then run the RefreshRateChanger code, you should see an issue.
Sorry I don't just submit an MR myself, but I'm not a regular contributor; just happened to spot this while browsing and thought you'd want to know.
-MrINTJ
Describe as detailed as possible the steps that are required to encounter the issue. This info is critical for the team to understand the problem.
Steps to Reproduce:
.
- Make sure that your system (Windows, codecs and drivers) is up to date, matching the Requirements and you've filled in your System Specs.
- Have a look at our MediaPortal Wiki! Maybe the solution is already there.
- Have a look at our Jira (Bug and Issue Tracker)and the threads in this section, maybe your problem is already known.
- Search the forums for your problem, it's very likely that someone else already encountered the same problem.
Please always include log files with your Bug Report!
Check out our Wiki: Bug Reports and Log Files
==================================================================
Describe the Problem you encounter as detailed as possible! "It does not work" won't help the team to understand the problem.
Description:
I noticed on github.com that in MediaPortal-2/MediaPortal/Source/UI/Players/RefreshRateChanger/RefreshRateChanger.cs, there seems to be an assumption that the source and target of each path will appear at adjacent indices in _modeInfoArray, e.g. around line 402:
Code:
402: var modeIndex = _displayIndex * 2; // Array always contains "Source" and "Target" per display
This is generally true, but not always. Specifically, when a display is configured to duplicate another display (rather than extend the desktop).
For example, with three GDI displays mapped to three different monitors, you'll get this from
QueryDisplayConfig()
:PathIdx | SrcModeIdx | TgtModeIdx
---------+------------+------------
0 | 1 | 0
1 | 3 | 2
2 | 5 | 4
...but if you set the second monitor to duplicate the first (primary) display, you get this:
PathIdx | SrcModeIdx | TgtModeIdx
---------+------------+------------
0 | 1 | 0
1 | 1 | 2
2 | 4 | 3
Note that the duplicating display also messes up the [target, source] ordering assumed by the current code.
You should be able to confirm this by testing on a system with multiple monitors (two or more), and using Display settings to configure the second display to Duplicate the first (primary) display. If you then run the RefreshRateChanger code, you should see an issue.
Sorry I don't just submit an MR myself, but I'm not a regular contributor; just happened to spot this while browsing and thought you'd want to know.
-MrINTJ
Describe as detailed as possible the steps that are required to encounter the issue. This info is critical for the team to understand the problem.
Steps to Reproduce:
.