Skip to content

Commit

Permalink
gsdx:windows: Open sub dialogs using temporary objects
Browse files Browse the repository at this point in the history
This prevents the dialog from preserving state after it is closed, which
simplifies the logic slightly for reopening the dialog.

Also remove an unused variable.
  • Loading branch information
turtleli committed Aug 28, 2018
1 parent eb104f6 commit 4d8dea0
Show file tree
Hide file tree
Showing 2 changed files with 15 additions and 23 deletions.
22 changes: 13 additions & 9 deletions plugins/GSdx/GSSettingsDlg.cpp
Expand Up @@ -222,15 +222,21 @@ bool GSSettingsDlg::OnCommand(HWND hWnd, UINT id, UINT code)
break;
case IDC_SHADEBUTTON:
if (code == BN_CLICKED)
ShaderDlg.DoModal();
GSShaderDlg().DoModal();
break;
case IDC_OSDBUTTON:
if (code == BN_CLICKED)
OSDDlg.DoModal();
GSOSDDlg().DoModal();
break;
case IDC_HACKSBUTTON:
if (code == BN_CLICKED)
HacksDlg.DoModal();
{
INT_PTR data;
std::string adapter_id;
if (ComboBoxGetSelData(IDC_ADAPTER, data))
adapter_id = adapters[data].id;
GSHacksDlg(adapter_id).DoModal();
}
break;
case IDOK:
{
Expand Down Expand Up @@ -319,9 +325,6 @@ void GSSettingsDlg::UpdateRenderers()
if (!ComboBoxGetSelData(IDC_ADAPTER, i))
return;

// Ugggh
HacksDlg.SetAdapter(adapters[(int)i].id);

D3D_FEATURE_LEVEL level = adapters[(int)i].level;

std::vector<GSSetting> renderers;
Expand Down Expand Up @@ -640,8 +643,9 @@ bool GSShaderDlg::OnMessage(UINT message, WPARAM wParam, LPARAM lParam)

// Hacks Dialog

GSHacksDlg::GSHacksDlg() :
GSDialog(IDD_HACKS)
GSHacksDlg::GSHacksDlg(const std::string &adapter_id)
: GSDialog{IDD_HACKS}
, m_adapter_id(adapter_id)
{
memset(msaa2cb, 0, sizeof(msaa2cb));
memset(cb2msaa, 0, sizeof(cb2msaa));
Expand All @@ -665,7 +669,7 @@ void GSHacksDlg::OnInit()
{
if( i == 1) continue;

int depth = GSDevice9::GetMaxDepth(i, adapter_id);
int depth = GSDevice9::GetMaxDepth(i, m_adapter_id);

if(depth)
{
Expand Down
16 changes: 2 additions & 14 deletions plugins/GSdx/GSSettingsDlg.h
Expand Up @@ -44,7 +44,7 @@ class GSHacksDlg : public GSDialog
{
unsigned short cb2msaa[17];
unsigned short msaa2cb[17];
std::string adapter_id;
std::string m_adapter_id;
int m_old_skipdraw_offset;
int m_old_skipdraw;

Expand All @@ -55,13 +55,7 @@ class GSHacksDlg : public GSDialog
bool OnMessage(UINT message, WPARAM wParam, LPARAM lParam);

public:
GSHacksDlg();

// Ugh
void SetAdapter(std::string adapter_id_)
{
adapter_id = adapter_id_;
}
GSHacksDlg(const std::string &adapter_id);
};

class GSOSDDlg : public GSDialog
Expand Down Expand Up @@ -92,7 +86,6 @@ class GSSettingsDlg : public GSDialog
std::vector<Adapter> adapters;

std::vector<GSSetting> m_ocl_devs;
uint32 m_lastValidMsaa; // used to revert to previous dialog value if the user changed to invalid one, or lesser one and canceled

void UpdateRenderers();
void UpdateControls();
Expand All @@ -101,11 +94,6 @@ class GSSettingsDlg : public GSDialog
void OnInit();
bool OnCommand(HWND hWnd, UINT id, UINT code);

// Shade Boost
GSShaderDlg ShaderDlg;
GSHacksDlg HacksDlg;
GSOSDDlg OSDDlg;

public:
GSSettingsDlg();
};

0 comments on commit 4d8dea0

Please sign in to comment.