提交 e563931e 编写于 作者: P Palana

filter duplicate resolutions

上级 197c56c9
......@@ -24,6 +24,7 @@
#include "platform.hpp"
#include <sstream>
#include <unordered_set>
using namespace std;
class BasicVideoData : public BasicSettingsData {
......@@ -127,6 +128,14 @@ void BasicVideoData::LoadOther()
window->rendererList->SetSelection(sel);
}
namespace
{
uint64_t append_uint32_t(uint64_t first, uint64_t second)
{
return (first << 32) | second;
}
}
void BasicVideoData::LoadResolutionData()
{
window->baseResList->Clear();
......@@ -136,8 +145,12 @@ void BasicVideoData::LoadResolutionData()
vector<MonitorInfo> monitors;
GetMonitors(monitors);
for (size_t i = 0; i < monitors.size(); i++)
AddRes(monitors[i].cx, monitors[i].cy);
unordered_set<uint64_t> resolutions;
for (size_t i = 0; i < monitors.size(); i++) {
uint64_t res = append_uint32_t(monitors[i].cx, monitors[i].cy);
if(resolutions.emplace(res).second)
AddRes(monitors[i].cx, monitors[i].cy);
}
stringstream res;
res << cx << "x" << cy;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册