mirror of
https://gitlab.gnome.org/GNOME/glib.git
synced 2025-02-09 04:15:49 +01:00
tests W32: Fix Windows values casting
LPARAM is LONG_PTR which is the same as INT_PTR on Windows. WPARAM is UINT_PTR. HWND is a pointer. (%p prints pointers without 0x prefix, hence the extra 0x).
This commit is contained in:
parent
3cdce16668
commit
190ea6ed10
@ -214,7 +214,7 @@ recv_windows_message (GIOChannel *channel,
|
|||||||
{
|
{
|
||||||
GIOError error;
|
GIOError error;
|
||||||
MSG msg;
|
MSG msg;
|
||||||
guint nb;
|
gsize nb;
|
||||||
|
|
||||||
while (1)
|
while (1)
|
||||||
{
|
{
|
||||||
@ -232,20 +232,25 @@ recv_windows_message (GIOChannel *channel,
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
g_print ("gio-test: ...Windows message for %#x: %d,%d,%d\n",
|
g_print ("gio-test: ...Windows message for 0x%p: %d,%" G_GUINTPTR_FORMAT ",%" G_GINTPTR_FORMAT "\n",
|
||||||
msg.hwnd, msg.message, msg.wParam, msg.lParam);
|
msg.hwnd, msg.message, msg.wParam, (gintptr)msg.lParam);
|
||||||
|
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
LRESULT CALLBACK window_procedure (HWND hwnd,
|
||||||
|
UINT message,
|
||||||
|
WPARAM wparam,
|
||||||
|
LPARAM lparam);
|
||||||
|
|
||||||
LRESULT CALLBACK
|
LRESULT CALLBACK
|
||||||
window_procedure (HWND hwnd,
|
window_procedure (HWND hwnd,
|
||||||
UINT message,
|
UINT message,
|
||||||
WPARAM wparam,
|
WPARAM wparam,
|
||||||
LPARAM lparam)
|
LPARAM lparam)
|
||||||
{
|
{
|
||||||
g_print ("gio-test: window_procedure for %#x: %d,%d,%d\n",
|
g_print ("gio-test: window_procedure for 0x%p: %d,%" G_GUINTPTR_FORMAT ",%" G_GINTPTR_FORMAT "\n",
|
||||||
hwnd, message, wparam, lparam);
|
hwnd, message, wparam, (gintptr)lparam);
|
||||||
return DefWindowProc (hwnd, message, wparam, lparam);
|
return DefWindowProc (hwnd, message, wparam, lparam);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -331,7 +336,7 @@ main (int argc,
|
|||||||
nrunning++;
|
nrunning++;
|
||||||
|
|
||||||
#ifdef G_OS_WIN32
|
#ifdef G_OS_WIN32
|
||||||
cmdline = g_strdup_printf ("%d:%d:%d",
|
cmdline = g_strdup_printf ("%d:%d:0x%p",
|
||||||
pipe_to_sub[0],
|
pipe_to_sub[0],
|
||||||
pipe_from_sub[1],
|
pipe_from_sub[1],
|
||||||
hwnd);
|
hwnd);
|
||||||
@ -388,7 +393,7 @@ main (int argc,
|
|||||||
sscanf (argv[2], "%d:%d%n", &readfd, &writefd, &n);
|
sscanf (argv[2], "%d:%d%n", &readfd, &writefd, &n);
|
||||||
|
|
||||||
#ifdef G_OS_WIN32
|
#ifdef G_OS_WIN32
|
||||||
sscanf (argv[2] + n, ":%d", &hwnd);
|
sscanf (argv[2] + n, ":0x%p", &hwnd);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
srand (tv.tv_sec ^ (tv.tv_usec / 1000) ^ readfd ^ (writefd << 4));
|
srand (tv.tv_sec ^ (tv.tv_usec / 1000) ^ readfd ^ (writefd << 4));
|
||||||
@ -413,8 +418,8 @@ main (int argc,
|
|||||||
int msg = WM_USER + (rand() % 100);
|
int msg = WM_USER + (rand() % 100);
|
||||||
WPARAM wparam = rand ();
|
WPARAM wparam = rand ();
|
||||||
LPARAM lparam = rand ();
|
LPARAM lparam = rand ();
|
||||||
g_print ("gio-test: child posting message %d,%d,%d to %#x\n",
|
g_print ("gio-test: child posting message %d,%" G_GUINTPTR_FORMAT ",%" G_GINTPTR_FORMAT " to 0x%p\n",
|
||||||
msg, wparam, lparam, hwnd);
|
msg, wparam, (gintptr)lparam, hwnd);
|
||||||
PostMessage (hwnd, msg, wparam, lparam);
|
PostMessage (hwnd, msg, wparam, lparam);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
Loading…
x
Reference in New Issue
Block a user