tVarious 64-bit Windows fixes - vaccinewars - be a doctor and try to vaccinate the world
HTML git clone git://src.adamsgaard.dk/vaccinewars
DIR Log
DIR Files
DIR Refs
DIR README
DIR LICENSE
---
DIR commit a33d869474f31c7896cb56e857bed3cd1a9dd4cc
DIR parent 18ed7db4758d6743ed3a5c270dc8f8dac1fe6cbb
HTML Author: Ben Webb <ben@salilab.org>
Date: Sat, 7 Nov 2020 18:50:37 -0800
Various 64-bit Windows fixes
Update data types and function parameters to match
changes in the Win32 API so that 64-bit wide values
are used where appropriate on 64-bit systems.
Diffstat:
M src/gtkport/clist.c | 12 ++++++------
M src/gtkport/gtkport.c | 44 ++++++++++++++++----------------
M src/gtkport/unicodewrap.c | 12 ++++++------
M src/gtkport/unicodewrap.h | 4 ++--
4 files changed, 36 insertions(+), 36 deletions(-)
---
DIR diff --git a/src/gtkport/clist.c b/src/gtkport/clist.c
t@@ -98,7 +98,7 @@ static LRESULT APIENTRY ListWndProc(HWND hwnd, UINT msg, WPARAM wParam,
LRESULT retval;
GtkWidget *widget;
- widget = GTK_WIDGET(GetWindowLong(hwnd, GWL_USERDATA));
+ widget = GTK_WIDGET(GetWindowLongPtr(hwnd, GWLP_USERDATA));
retval = myCallWindowProc(wpOrigListProc, hwnd, msg, wParam, lParam);
if (msg == WM_HSCROLL && widget) {
t@@ -250,13 +250,13 @@ void gtk_clist_realize(GtkWidget *widget)
rcParent.right = rcParent.bottom = 800;
scrollwin = myCreateWindow(WC_GTKCLISTHDR, NULL, WS_CHILD | WS_BORDER,
0, 0, 0, 0, Parent, NULL, hInst, NULL);
- SetWindowLong(scrollwin, GWL_USERDATA, (LONG)widget);
+ SetWindowLongPtr(scrollwin, GWLP_USERDATA, (LONG_PTR)widget);
header = myCreateWindowEx(0, WC_HEADER, NULL,
WS_CHILD | HDS_HORZ | WS_VISIBLE
| (GTK_CLIST(widget)->coldata[0].button_passive ?
0 : HDS_BUTTONS),
0, 0, 0, 0, scrollwin, NULL, hInst, NULL);
- SetWindowLong(header, GWL_USERDATA, (LONG)widget);
+ SetWindowLongPtr(header, GWLP_USERDATA, (LONG_PTR)widget);
GTK_CLIST(widget)->header = header;
GTK_CLIST(widget)->scrollwin = scrollwin;
gtk_set_default_font(header);
t@@ -270,8 +270,8 @@ void gtk_clist_realize(GtkWidget *widget)
| LBS_NOTIFY, 0, 0, 0, 0, Parent, NULL,
hInst, NULL);
/* Subclass the window */
- wpOrigListProc = (WNDPROC)mySetWindowLong(widget->hWnd,
- GWL_WNDPROC, (LONG)ListWndProc);
+ wpOrigListProc = (WNDPROC)mySetWindowLong(widget->hWnd, GWLP_WNDPROC,
+ (LONG_PTR)ListWndProc);
gtk_set_default_font(widget->hWnd);
for (rows = clist->rowdata; rows; rows = g_slist_next(rows)) {
t@@ -856,7 +856,7 @@ static LRESULT CALLBACK CListHdrWndProc(HWND hwnd, UINT msg, WPARAM wParam,
GtkWidget *widget;
gboolean retval = FALSE, dodef = TRUE;
- widget = GTK_WIDGET(GetWindowLong(hwnd, GWL_USERDATA));
+ widget = GTK_WIDGET(GetWindowLongPtr(hwnd, GWLP_USERDATA));
if (widget) {
retval = gtk_clist_wndproc(widget, msg, wParam, lParam, &dodef);
DIR diff --git a/src/gtkport/gtkport.c b/src/gtkport/gtkport.c
t@@ -782,8 +782,8 @@ static void UpdatePanedGhostRect(GtkPaned *paned, RECT *OldRect,
ReleaseDC(parent, hDC);
}
-LRESULT CALLBACK GtkPanedProc(HWND hwnd, UINT msg, UINT wParam,
- LONG lParam)
+LRESULT CALLBACK GtkPanedProc(HWND hwnd, UINT msg, WPARAM wParam,
+ LPARAM lParam)
{
PAINTSTRUCT ps;
HPEN oldpen, dkpen, ltpen;
t@@ -793,7 +793,7 @@ LRESULT CALLBACK GtkPanedProc(HWND hwnd, UINT msg, UINT wParam,
gint newpos;
GtkPaned *paned;
- paned = GTK_PANED(myGetWindowLong(hwnd, GWL_USERDATA));
+ paned = GTK_PANED(myGetWindowLong(hwnd, GWLP_USERDATA));
switch (msg) {
case WM_PAINT:
if (GetUpdateRect(hwnd, NULL, TRUE)) {
t@@ -871,7 +871,7 @@ void DisplayHTML(GtkWidget *parent, const gchar *bin, const gchar *target)
ShellExecute(parent->hWnd, "open", target, NULL, NULL, 0);
}
-LRESULT CALLBACK GtkUrlProc(HWND hwnd, UINT msg, UINT wParam, LONG lParam)
+LRESULT CALLBACK GtkUrlProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
{
GtkWidget *widget;
t@@ -882,7 +882,7 @@ LRESULT CALLBACK GtkUrlProc(HWND hwnd, UINT msg, UINT wParam, LONG lParam)
HDC hDC;
HFONT oldFont;
- widget = GTK_WIDGET(myGetWindowLong(hwnd, GWL_USERDATA));
+ widget = GTK_WIDGET(myGetWindowLong(hwnd, GWLP_USERDATA));
text = GTK_LABEL(widget)->text;
if (text && BeginPaint(hwnd, &ps)) {
hDC = ps.hdc;
t@@ -897,7 +897,7 @@ LRESULT CALLBACK GtkUrlProc(HWND hwnd, UINT msg, UINT wParam, LONG lParam)
}
return TRUE;
} else if (msg == WM_LBUTTONUP) {
- widget = GTK_WIDGET(myGetWindowLong(hwnd, GWL_USERDATA));
+ widget = GTK_WIDGET(myGetWindowLong(hwnd, GWLP_USERDATA));
DisplayHTML(widget, NULL, GTK_URL(widget)->target);
return FALSE;
t@@ -905,7 +905,7 @@ LRESULT CALLBACK GtkUrlProc(HWND hwnd, UINT msg, UINT wParam, LONG lParam)
return myDefWindowProc(hwnd, msg, wParam, lParam);
}
-LRESULT CALLBACK GtkSepProc(HWND hwnd, UINT msg, UINT wParam, LONG lParam)
+LRESULT CALLBACK GtkSepProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
{
PAINTSTRUCT ps;
HPEN oldpen, dkpen, ltpen;
t@@ -1030,7 +1030,7 @@ static BOOL HandleWinMessage(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam,
&& myCallWindowProc(customWndProc, hwnd, msg, wParam, lParam))
return TRUE;
- widget = GTK_WIDGET(myGetWindowLong(hwnd, GWL_USERDATA));
+ widget = GTK_WIDGET(myGetWindowLong(hwnd, GWLP_USERDATA));
if (widget && (klass = GTK_OBJECT(widget)->klass)
&& klass->wndproc) {
retval = klass->wndproc(widget, msg, wParam, lParam, dodef);
t@@ -1039,7 +1039,7 @@ static BOOL HandleWinMessage(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam,
switch (msg) {
case WM_DRAWITEM:
if ((lpdis = (LPDRAWITEMSTRUCT)lParam)
- && (widget = GTK_WIDGET(myGetWindowLong(lpdis->hwndItem, GWL_USERDATA)))
+ && (widget = GTK_WIDGET(myGetWindowLong(lpdis->hwndItem, GWLP_USERDATA)))
&& (klass = GTK_OBJECT(widget)->klass)
&& klass->wndproc) {
retval = klass->wndproc(widget, msg, wParam, lParam, dodef);
t@@ -1057,7 +1057,7 @@ static BOOL HandleWinMessage(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam,
}
break;
case WM_COMMAND:
- widget = GTK_WIDGET(myGetWindowLong((HWND)lParam, GWL_USERDATA));
+ widget = GTK_WIDGET(myGetWindowLong((HWND)lParam, GWLP_USERDATA));
klass = NULL;
if (widget && (klass = GTK_OBJECT(widget)->klass)
&& klass->wndproc) {
t@@ -1078,7 +1078,7 @@ static BOOL HandleWinMessage(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam,
if (!nmhdr)
break;
- widget = GTK_WIDGET(myGetWindowLong(nmhdr->hwndFrom, GWL_USERDATA));
+ widget = GTK_WIDGET(myGetWindowLong(nmhdr->hwndFrom, GWLP_USERDATA));
if (widget && (klass = GTK_OBJECT(widget)->klass)
&& klass->wndproc) {
retval = klass->wndproc(widget, msg, wParam, lParam, dodef);
t@@ -1119,7 +1119,7 @@ LRESULT CALLBACK MainWndProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
}
}
-BOOL APIENTRY MainDlgProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
+INT_PTR APIENTRY MainDlgProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
{
gboolean dodef;
t@@ -1136,7 +1136,7 @@ LRESULT APIENTRY EntryWndProc(HWND hwnd, UINT msg, WPARAM wParam,
GtkWidget *widget;
if (msg == WM_KEYUP && wParam == VK_RETURN) {
- widget = GTK_WIDGET(myGetWindowLong(hwnd, GWL_USERDATA));
+ widget = GTK_WIDGET(myGetWindowLong(hwnd, GWLP_USERDATA));
if (widget)
gtk_signal_emit(GTK_OBJECT(widget), "activate");
return FALSE;
t@@ -1150,7 +1150,7 @@ LRESULT APIENTRY TextWndProc(HWND hwnd, UINT msg, WPARAM wParam,
GtkWidget *widget;
if (msg == WM_GETDLGCODE) {
- widget = GTK_WIDGET(myGetWindowLong(hwnd, GWL_USERDATA));
+ widget = GTK_WIDGET(myGetWindowLong(hwnd, GWLP_USERDATA));
if (!GTK_EDITABLE(widget)->is_editable) {
return DLGC_HASSETSEL | DLGC_WANTARROWS;
}
t@@ -1461,7 +1461,7 @@ static BOOL CALLBACK SetFocusEnum(HWND hWnd, LPARAM data)
GtkWidget *widget;
GtkWindow *window = GTK_WINDOW(data);
- widget = GTK_WIDGET(myGetWindowLong(hWnd, GWL_USERDATA));
+ widget = GTK_WIDGET(myGetWindowLong(hWnd, GWLP_USERDATA));
if (!widget || !GTK_WIDGET_CAN_FOCUS(widget) ||
!GTK_WIDGET_SENSITIVE(widget) || !GTK_WIDGET_VISIBLE(widget) ||
window->focus == widget) {
t@@ -1504,7 +1504,7 @@ void gtk_window_update_focus(GtkWindow *window)
FocusWnd = GetFocus();
window->focus = NULL;
if (FocusWnd) {
- widget = GTK_WIDGET(myGetWindowLong(FocusWnd, GWL_USERDATA));
+ widget = GTK_WIDGET(myGetWindowLong(FocusWnd, GWLP_USERDATA));
if (widget && GTK_WIDGET(window)->hWnd &&
IsChild(GTK_WIDGET(window)->hWnd, FocusWnd)) {
window->focus = widget;
t@@ -1520,7 +1520,7 @@ void gtk_widget_realize(GtkWidget *widget)
return;
gtk_signal_emit(GTK_OBJECT(widget), "realize", &req);
if (widget->hWnd)
- mySetWindowLong(widget->hWnd, GWL_USERDATA, (LONG)widget);
+ mySetWindowLong(widget->hWnd, GWLP_USERDATA, (LONG_PTR)widget);
GTK_WIDGET_SET_FLAGS(widget, GTK_REALIZED);
gtk_widget_set_sensitive(widget, GTK_WIDGET_SENSITIVE(widget));
t@@ -2595,8 +2595,8 @@ void gtk_entry_realize(GtkWidget *widget)
/* Subclass the window (we assume that all edit boxes have the same
* window procedure) */
wpOrigEntryProc = (WNDPROC)mySetWindowLong(widget->hWnd,
- GWL_WNDPROC,
- (LONG)EntryWndProc);
+ GWLP_WNDPROC,
+ (LONG_PTR)EntryWndProc);
gtk_set_default_font(widget->hWnd);
gtk_editable_set_editable(GTK_EDITABLE(widget),
GTK_EDITABLE(widget)->is_editable);
t@@ -2623,8 +2623,8 @@ void gtk_text_realize(GtkWidget *widget)
/* Subclass the window (we assume that all multiline edit boxes have the
* same window procedure) */
wpOrigTextProc = (WNDPROC)mySetWindowLong(widget->hWnd,
- GWL_WNDPROC,
- (LONG)TextWndProc);
+ GWLP_WNDPROC,
+ (LONG_PTR)TextWndProc);
gtk_set_default_font(widget->hWnd);
gtk_editable_set_editable(GTK_EDITABLE(widget),
GTK_EDITABLE(widget)->is_editable);
t@@ -3389,7 +3389,7 @@ void gtk_main()
while (myGetMessage(&msg, NULL, 0, 0)) {
MsgDone = FALSE;
- widget = GTK_WIDGET(myGetWindowLong(msg.hwnd, GWL_USERDATA));
+ widget = GTK_WIDGET(myGetWindowLong(msg.hwnd, GWLP_USERDATA));
window = gtk_widget_get_ancestor(widget, GTK_TYPE_WINDOW);
if (window) {
hAccel = GTK_WINDOW(window)->hAccel;
DIR diff --git a/src/gtkport/unicodewrap.c b/src/gtkport/unicodewrap.c
t@@ -370,21 +370,21 @@ void myEditReplaceSel(HWND hWnd, BOOL fCanUndo, LPCSTR lParam)
}
}
-LONG mySetWindowLong(HWND hWnd, int nIndex, LONG dwNewLong)
+LONG_PTR mySetWindowLong(HWND hWnd, int nIndex, LONG_PTR dwNewLong)
{
if (unicode_support) {
- return SetWindowLongW(hWnd, nIndex, dwNewLong);
+ return SetWindowLongPtrW(hWnd, nIndex, dwNewLong);
} else {
- return SetWindowLongA(hWnd, nIndex, dwNewLong);
+ return SetWindowLongPtrA(hWnd, nIndex, dwNewLong);
}
}
-LONG myGetWindowLong(HWND hWnd, int nIndex)
+LONG_PTR myGetWindowLong(HWND hWnd, int nIndex)
{
if (unicode_support) {
- return GetWindowLongW(hWnd, nIndex);
+ return GetWindowLongPtrW(hWnd, nIndex);
} else {
- return GetWindowLongA(hWnd, nIndex);
+ return GetWindowLongPtrA(hWnd, nIndex);
}
}
DIR diff --git a/src/gtkport/unicodewrap.h b/src/gtkport/unicodewrap.h
t@@ -55,8 +55,8 @@ HWND myCreateDialog(HINSTANCE hInstance, LPCTSTR lpTemplate, HWND hWndParent,
DLGPROC lpDialogFunc);
LRESULT mySendMessage(HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam);
void myEditReplaceSel(HWND hWnd, BOOL fCanUndo, LPCSTR lParam);
-LONG mySetWindowLong(HWND hWnd, int nIndex, LONG dwNewLong);
-LONG myGetWindowLong(HWND hWnd, int nIndex);
+LONG_PTR mySetWindowLong(HWND hWnd, int nIndex, LONG_PTR dwNewLong);
+LONG_PTR myGetWindowLong(HWND hWnd, int nIndex);
LRESULT myCallWindowProc(WNDPROC lpPrevWndProc, HWND hWnd, UINT Msg,
WPARAM wParam, LPARAM lParam);
LRESULT myDefWindowProc(HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam);