mirror of
https://gitlab.gnome.org/GNOME/gtk.git
synced 2024-11-05 16:20:10 +00:00
Just use TrackMouseEvent directly
TrackMouseEvent is present in user32.dll in all Windows versions we support. No need to look it up dynamically. No need to fallback to _TrackMouseEvent from comctrl32.dll.
This commit is contained in:
parent
20d8fbd90f
commit
027380d33e
@ -156,40 +156,19 @@ static void
|
||||
track_mouse_event (DWORD dwFlags,
|
||||
HWND hwnd)
|
||||
{
|
||||
typedef BOOL (WINAPI *PFN_TrackMouseEvent) (LPTRACKMOUSEEVENT);
|
||||
static PFN_TrackMouseEvent p_TrackMouseEvent = NULL;
|
||||
static gboolean once = FALSE;
|
||||
TRACKMOUSEEVENT tme;
|
||||
|
||||
if (!once)
|
||||
{
|
||||
HMODULE user32;
|
||||
HINSTANCE commctrl32;
|
||||
tme.cbSize = sizeof(TRACKMOUSEEVENT);
|
||||
tme.dwFlags = dwFlags;
|
||||
tme.hwndTrack = hwnd;
|
||||
tme.dwHoverTime = HOVER_DEFAULT; /* not used */
|
||||
|
||||
user32 = GetModuleHandle ("user32.dll");
|
||||
if ((p_TrackMouseEvent = (PFN_TrackMouseEvent)GetProcAddress (user32, "TrackMouseEvent")) == NULL)
|
||||
{
|
||||
if ((commctrl32 = LoadLibrary ("commctrl32.dll")) != NULL)
|
||||
p_TrackMouseEvent = (PFN_TrackMouseEvent)
|
||||
GetProcAddress (commctrl32, "_TrackMouseEvent");
|
||||
}
|
||||
once = TRUE;
|
||||
}
|
||||
|
||||
if (p_TrackMouseEvent)
|
||||
{
|
||||
TRACKMOUSEEVENT tme;
|
||||
tme.cbSize = sizeof(TRACKMOUSEEVENT);
|
||||
tme.dwFlags = dwFlags;
|
||||
tme.hwndTrack = hwnd;
|
||||
tme.dwHoverTime = HOVER_DEFAULT; /* not used */
|
||||
|
||||
if (!p_TrackMouseEvent (&tme))
|
||||
WIN32_API_FAILED ("TrackMouseEvent");
|
||||
else if (dwFlags == TME_LEAVE)
|
||||
GDK_NOTE (EVENTS, g_print(" (TrackMouseEvent %p)", hwnd));
|
||||
else if (dwFlags == TME_CANCEL)
|
||||
GDK_NOTE (EVENTS, g_print(" (cancel TrackMouseEvent %p)", hwnd));
|
||||
}
|
||||
if (!TrackMouseEvent (&tme))
|
||||
WIN32_API_FAILED ("TrackMouseEvent");
|
||||
else if (dwFlags == TME_LEAVE)
|
||||
GDK_NOTE (EVENTS, g_print(" (TrackMouseEvent %p)", hwnd));
|
||||
else if (dwFlags == TME_CANCEL)
|
||||
GDK_NOTE (EVENTS, g_print(" (cancel TrackMouseEvent %p)", hwnd));
|
||||
}
|
||||
|
||||
gulong
|
||||
|
Loading…
Reference in New Issue
Block a user