Don't shove a pointer into a 32-bit variable
diff --git a/win/winvnc/ControlPanel.cxx b/win/winvnc/ControlPanel.cxx
index 9c850d3..ba6cab2 100644
--- a/win/winvnc/ControlPanel.cxx
+++ b/win/winvnc/ControlPanel.cxx
@@ -141,17 +141,16 @@
{
COPYDATASTRUCT copyData;
copyData.dwData = command;
- copyData.lpData = 0;
getSelConnInfo();
if (data != -1) {
ListConnStatus.Copy(&ListSelConn);
ListConnStatus.setAllStatus(data);
ListConnStatus.setDisable(isItemChecked(IDC_DISABLE_CLIENTS));
- copyData.cbData = (DWORD)((long long)&ListConnStatus);
} else {
ListConnStatus.Clear();
}
- copyData.cbData = (DWORD)((long long)&ListConnStatus);
+ copyData.cbData = 0;
+ copyData.lpData = &ListConnStatus;
SendMessage(m_hSTIcon, WM_COPYDATA, 0, (LPARAM)©Data);
}
diff --git a/win/winvnc/STrayIcon.cxx b/win/winvnc/STrayIcon.cxx
index b13f3f1..762a56a 100644
--- a/win/winvnc/STrayIcon.cxx
+++ b/win/winvnc/STrayIcon.cxx
@@ -179,7 +179,7 @@
case 2:
return thread.server.disconnectClients("IPC disconnect") ? 1 : 0;
case 3:
- thread.server.setClientsStatus((rfb::ListConnInfo *)command->cbData);
+ thread.server.setClientsStatus((rfb::ListConnInfo *)command->lpData);
case 4:
thread.server.getClientsInfo(&LCInfo);
CPanel->UpdateListView(&LCInfo);