Wine-Devel
Threads by month
- ----- 2026 -----
- April
- March
- February
- January
- ----- 2025 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2007 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2006 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2005 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2004 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2003 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2002 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2001 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- 84515 discussions
[PATCH 1/6] Revert "winemac.drv: Remove now unused -[WineContentView drawRect:]."
by Tim Clem April 25, 2022
by Tim Clem April 25, 2022
April 25, 2022
This reverts commit 3f845b34deada0dd58e3674119af47ce85851c24.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=52354
Signed-off-by: Tim Clem <tclem(a)codeweavers.com>
---
There's more discussion on the bug, but in short, it seems that
layer-backed views have some insurmountable issues on High Sierra
and earlier.
dlls/winemac.drv/cocoa_window.m | 64 +++++++++++++++++++++++++++++++++
1 file changed, 64 insertions(+)
diff --git a/dlls/winemac.drv/cocoa_window.m b/dlls/winemac.drv/cocoa_window.m
index bfa7e2fe8cc..2ee3b862456 100644
--- a/dlls/winemac.drv/cocoa_window.m
+++ b/dlls/winemac.drv/cocoa_window.m
@@ -556,6 +556,70 @@ - (void) viewWillDraw
[pendingGlContexts removeAllObjects];
}
+ - (void) drawRect:(NSRect)rect
+ {
+ WineWindow* window = (WineWindow*)[self window];
+
+ if ([window contentView] != self)
+ return;
+
+ if (window.surface && window.surface_mutex &&
+ !pthread_mutex_lock(window.surface_mutex))
+ {
+ const CGRect* rects;
+ int count;
+
+ if (get_surface_blit_rects(window.surface, &rects, &count))
+ {
+ CGRect dirtyRect = cgrect_win_from_mac(NSRectToCGRect(rect));
+ NSAffineTransform* xform = [NSAffineTransform transform];
+ CGContextRef context;
+ int i;
+
+ [xform translateXBy:0.0 yBy:self.bounds.size.height];
+ [xform scaleXBy:1.0 yBy:-1.0];
+ [xform concat];
+
+ context = (CGContextRef)[[NSGraphicsContext currentContext] graphicsPort];
+ CGContextSetBlendMode(context, kCGBlendModeCopy);
+ CGContextSetInterpolationQuality(context, retina_on ? kCGInterpolationHigh : kCGInterpolationNone);
+
+ for (i = 0; i < count; i++)
+ {
+ CGRect imageRect;
+ CGImageRef image;
+
+ imageRect = CGRectIntersection(rects[i], dirtyRect);
+ image = create_surface_image(window.surface, &imageRect, FALSE, window.colorKeyed,
+ window.colorKeyRed, window.colorKeyGreen, window.colorKeyBlue);
+
+ if (image)
+ {
+ // Account for the flipped coordinate system.
+ imageRect = cgrect_mac_from_win(imageRect);
+ imageRect.origin.y = self.bounds.size.height - imageRect.origin.y - imageRect.size.height;
+ CGContextDrawImage(context, imageRect, image);
+
+ CGImageRelease(image);
+ }
+ }
+
+ [window windowDidDrawContent];
+ }
+
+ pthread_mutex_unlock(window.surface_mutex);
+ }
+
+ // If the window may be transparent, then we have to invalidate the
+ // shadow every time we draw. Also, if this is the first time we've
+ // drawn since changing from transparent to opaque.
+ if (window.drawnSinceShown && (window.colorKeyed || window.usePerPixelAlpha || window.shapeChangedSinceLastDraw))
+ {
+ window.shapeChangedSinceLastDraw = FALSE;
+ [window invalidateShadow];
+ }
+ }
+
- (void) addGLContext:(WineOpenGLContext*)context
{
BOOL hadContext = _everHadGLContext;
--
2.34.1
1
6
fd will be closed at the end of the function anyways
Signed-off-by: Fabian Maurer <dark.shadow4(a)web.de>
---
dlls/ntdll/unix/file.c | 1 -
1 file changed, 1 deletion(-)
diff --git a/dlls/ntdll/unix/file.c b/dlls/ntdll/unix/file.c
index cc8bf0c6e82..a6d76a49b27 100644
--- a/dlls/ntdll/unix/file.c
+++ b/dlls/ntdll/unix/file.c
@@ -4215,7 +4215,6 @@ NTSTATUS WINAPI NtQueryInformationFile( HANDLE handle, IO_STATUS_BLOCK *io,
int res = recv( fd, tmpbuf, size, MSG_PEEK );
info->MessagesAvailable = (res > 0);
info->NextMessageSize = (res >= 0) ? res : MAILSLOT_NO_MESSAGE;
- if (needs_close) close( fd );
}
free( tmpbuf );
}
--
2.36.0
5
15
[PATCH 1/4] win32u: Move NtUserTrackMouseEvent() implementation from user32.
by Zebediah Figura April 25, 2022
by Zebediah Figura April 25, 2022
April 25, 2022
Signed-off-by: Zebediah Figura <zfigura(a)codeweavers.com>
---
dlls/user32/input.c | 254 -----------------------------------
dlls/user32/scroll.c | 8 +-
dlls/user32/user32.spec | 2 +-
dlls/user32/user_main.c | 1 -
dlls/user32/user_private.h | 1 -
dlls/win32u/gdiobj.c | 1 +
dlls/win32u/input.c | 218 ++++++++++++++++++++++++++++++
dlls/win32u/message.c | 3 +-
dlls/win32u/ntuser_private.h | 1 -
dlls/win32u/win32u.spec | 2 +-
dlls/win32u/win32u_private.h | 2 +
dlls/win32u/wrappers.c | 6 +
include/ntuser.h | 1 +
13 files changed, 235 insertions(+), 265 deletions(-)
diff --git a/dlls/user32/input.c b/dlls/user32/input.c
index 4ef33ab2838..dcb46df22b5 100644
--- a/dlls/user32/input.c
+++ b/dlls/user32/input.c
@@ -49,32 +49,6 @@
WINE_DEFAULT_DEBUG_CHANNEL(win);
WINE_DECLARE_DEBUG_CHANNEL(keyboard);
-/***********************************************************************
- * get_key_state
- */
-static WORD get_key_state(void)
-{
- WORD ret = 0;
-
- if (GetSystemMetrics( SM_SWAPBUTTON ))
- {
- if (NtUserGetAsyncKeyState(VK_RBUTTON) & 0x80) ret |= MK_LBUTTON;
- if (NtUserGetAsyncKeyState(VK_LBUTTON) & 0x80) ret |= MK_RBUTTON;
- }
- else
- {
- if (NtUserGetAsyncKeyState(VK_LBUTTON) & 0x80) ret |= MK_LBUTTON;
- if (NtUserGetAsyncKeyState(VK_RBUTTON) & 0x80) ret |= MK_RBUTTON;
- }
- if (NtUserGetAsyncKeyState(VK_MBUTTON) & 0x80) ret |= MK_MBUTTON;
- if (NtUserGetAsyncKeyState(VK_SHIFT) & 0x80) ret |= MK_SHIFT;
- if (NtUserGetAsyncKeyState(VK_CONTROL) & 0x80) ret |= MK_CONTROL;
- if (NtUserGetAsyncKeyState(VK_XBUTTON1) & 0x80) ret |= MK_XBUTTON1;
- if (NtUserGetAsyncKeyState(VK_XBUTTON2) & 0x80) ret |= MK_XBUTTON2;
- return ret;
-}
-
-
/***********************************************************************
* get_locale_kbd_layout
*/
@@ -520,234 +494,6 @@ BOOL WINAPI UnloadKeyboardLayout( HKL layout )
return FALSE;
}
-typedef struct __TRACKINGLIST {
- TRACKMOUSEEVENT tme;
- POINT pos; /* center of hover rectangle */
-} _TRACKINGLIST;
-
-/* FIXME: move tracking stuff into a per thread data */
-static _TRACKINGLIST tracking_info;
-
-static void check_mouse_leave(HWND hwnd, int hittest)
-{
- if (tracking_info.tme.hwndTrack != hwnd)
- {
- if (tracking_info.tme.dwFlags & TME_NONCLIENT)
- PostMessageW(tracking_info.tme.hwndTrack, WM_NCMOUSELEAVE, 0, 0);
- else
- PostMessageW(tracking_info.tme.hwndTrack, WM_MOUSELEAVE, 0, 0);
-
- /* remove the TME_LEAVE flag */
- tracking_info.tme.dwFlags &= ~TME_LEAVE;
- }
- else
- {
- if (hittest == HTCLIENT)
- {
- if (tracking_info.tme.dwFlags & TME_NONCLIENT)
- {
- PostMessageW(tracking_info.tme.hwndTrack, WM_NCMOUSELEAVE, 0, 0);
- /* remove the TME_LEAVE flag */
- tracking_info.tme.dwFlags &= ~TME_LEAVE;
- }
- }
- else
- {
- if (!(tracking_info.tme.dwFlags & TME_NONCLIENT))
- {
- PostMessageW(tracking_info.tme.hwndTrack, WM_MOUSELEAVE, 0, 0);
- /* remove the TME_LEAVE flag */
- tracking_info.tme.dwFlags &= ~TME_LEAVE;
- }
- }
- }
-}
-
-void CDECL update_mouse_tracking_info( HWND hwnd )
-{
- POINT pos;
- INT hoverwidth = 0, hoverheight = 0, hittest;
-
- TRACE( "hwnd %p\n", hwnd );
-
- GetCursorPos(&pos);
- hwnd = WINPOS_WindowFromPoint(hwnd, pos, &hittest);
-
- TRACE("point %s hwnd %p hittest %d\n", wine_dbgstr_point(&pos), hwnd, hittest);
-
- SystemParametersInfoW(SPI_GETMOUSEHOVERWIDTH, 0, &hoverwidth, 0);
- SystemParametersInfoW(SPI_GETMOUSEHOVERHEIGHT, 0, &hoverheight, 0);
-
- TRACE("tracked pos %s, current pos %s, hover width %d, hover height %d\n",
- wine_dbgstr_point(&tracking_info.pos), wine_dbgstr_point(&pos),
- hoverwidth, hoverheight);
-
- /* see if this tracking event is looking for TME_LEAVE and that the */
- /* mouse has left the window */
- if (tracking_info.tme.dwFlags & TME_LEAVE)
- {
- check_mouse_leave(hwnd, hittest);
- }
-
- if (tracking_info.tme.hwndTrack != hwnd)
- {
- /* mouse is gone, stop tracking mouse hover */
- tracking_info.tme.dwFlags &= ~TME_HOVER;
- }
-
- /* see if we are tracking hovering for this hwnd */
- if (tracking_info.tme.dwFlags & TME_HOVER)
- {
- /* has the cursor moved outside the rectangle centered around pos? */
- if ((abs(pos.x - tracking_info.pos.x) > (hoverwidth / 2)) ||
- (abs(pos.y - tracking_info.pos.y) > (hoverheight / 2)))
- {
- /* record this new position as the current position */
- tracking_info.pos = pos;
- }
- else
- {
- if (hittest == HTCLIENT)
- {
- ScreenToClient(hwnd, &pos);
- TRACE("client cursor pos %s\n", wine_dbgstr_point(&pos));
-
- PostMessageW(tracking_info.tme.hwndTrack, WM_MOUSEHOVER,
- get_key_state(), MAKELPARAM( pos.x, pos.y ));
- }
- else
- {
- if (tracking_info.tme.dwFlags & TME_NONCLIENT)
- PostMessageW(tracking_info.tme.hwndTrack, WM_NCMOUSEHOVER,
- hittest, MAKELPARAM( pos.x, pos.y ));
- }
-
- /* stop tracking mouse hover */
- tracking_info.tme.dwFlags &= ~TME_HOVER;
- }
- }
-
- /* stop the timer if the tracking list is empty */
- if (!(tracking_info.tme.dwFlags & (TME_HOVER | TME_LEAVE)))
- {
- KillSystemTimer( tracking_info.tme.hwndTrack, SYSTEM_TIMER_TRACK_MOUSE );
- tracking_info.tme.hwndTrack = 0;
- tracking_info.tme.dwFlags = 0;
- tracking_info.tme.dwHoverTime = 0;
- }
-}
-
-
-/***********************************************************************
- * TrackMouseEvent [USER32]
- *
- * Requests notification of mouse events
- *
- * During mouse tracking WM_MOUSEHOVER or WM_MOUSELEAVE events are posted
- * to the hwnd specified in the ptme structure. After the event message
- * is posted to the hwnd, the entry in the queue is removed.
- *
- * If the current hwnd isn't ptme->hwndTrack the TME_HOVER flag is completely
- * ignored. The TME_LEAVE flag results in a WM_MOUSELEAVE message being posted
- * immediately and the TME_LEAVE flag being ignored.
- *
- * PARAMS
- * ptme [I,O] pointer to TRACKMOUSEEVENT information structure.
- *
- * RETURNS
- * Success: non-zero
- * Failure: zero
- *
- */
-
-BOOL WINAPI
-TrackMouseEvent (TRACKMOUSEEVENT *ptme)
-{
- HWND hwnd;
- POINT pos;
- DWORD hover_time;
- INT hittest;
-
- TRACE("%x, %x, %p, %u\n", ptme->cbSize, ptme->dwFlags, ptme->hwndTrack, ptme->dwHoverTime);
-
- if (ptme->cbSize != sizeof(TRACKMOUSEEVENT)) {
- WARN("wrong TRACKMOUSEEVENT size from app\n");
- SetLastError(ERROR_INVALID_PARAMETER);
- return FALSE;
- }
-
- /* fill the TRACKMOUSEEVENT struct with the current tracking for the given hwnd */
- if (ptme->dwFlags & TME_QUERY )
- {
- *ptme = tracking_info.tme;
- /* set cbSize in the case it's not initialized yet */
- ptme->cbSize = sizeof(TRACKMOUSEEVENT);
-
- return TRUE; /* return here, TME_QUERY is retrieving information */
- }
-
- if (!IsWindow(ptme->hwndTrack))
- {
- SetLastError(ERROR_INVALID_WINDOW_HANDLE);
- return FALSE;
- }
-
- hover_time = (ptme->dwFlags & TME_HOVER) ? ptme->dwHoverTime : HOVER_DEFAULT;
-
- /* if HOVER_DEFAULT was specified replace this with the system's current value.
- * TME_LEAVE doesn't need to specify hover time so use default */
- if (hover_time == HOVER_DEFAULT || hover_time == 0)
- SystemParametersInfoW(SPI_GETMOUSEHOVERTIME, 0, &hover_time, 0);
-
- GetCursorPos(&pos);
- hwnd = WINPOS_WindowFromPoint(ptme->hwndTrack, pos, &hittest);
- TRACE("point %s hwnd %p hittest %d\n", wine_dbgstr_point(&pos), hwnd, hittest);
-
- if (ptme->dwFlags & ~(TME_CANCEL | TME_HOVER | TME_LEAVE | TME_NONCLIENT))
- FIXME("Unknown flag(s) %08x\n", ptme->dwFlags & ~(TME_CANCEL | TME_HOVER | TME_LEAVE | TME_NONCLIENT));
-
- if (ptme->dwFlags & TME_CANCEL)
- {
- if (tracking_info.tme.hwndTrack == ptme->hwndTrack)
- {
- tracking_info.tme.dwFlags &= ~(ptme->dwFlags & ~TME_CANCEL);
-
- /* if we aren't tracking on hover or leave remove this entry */
- if (!(tracking_info.tme.dwFlags & (TME_HOVER | TME_LEAVE)))
- {
- KillSystemTimer( tracking_info.tme.hwndTrack, SYSTEM_TIMER_TRACK_MOUSE );
- tracking_info.tme.hwndTrack = 0;
- tracking_info.tme.dwFlags = 0;
- tracking_info.tme.dwHoverTime = 0;
- }
- }
- } else {
- /* In our implementation it's possible that another window will receive a
- * WM_MOUSEMOVE and call TrackMouseEvent before TrackMouseEventProc is
- * called. In such a situation post the WM_MOUSELEAVE now */
- if (tracking_info.tme.dwFlags & TME_LEAVE && tracking_info.tme.hwndTrack != NULL)
- check_mouse_leave(hwnd, hittest);
-
- KillSystemTimer( tracking_info.tme.hwndTrack, SYSTEM_TIMER_TRACK_MOUSE );
- tracking_info.tme.hwndTrack = 0;
- tracking_info.tme.dwFlags = 0;
- tracking_info.tme.dwHoverTime = 0;
-
- if (ptme->hwndTrack == hwnd)
- {
- /* Adding new mouse event to the tracking list */
- tracking_info.tme = *ptme;
- tracking_info.tme.dwHoverTime = hover_time;
-
- /* Initialize HoverInfo variables even if not hover tracking */
- tracking_info.pos = pos;
-
- NtUserSetSystemTimer( tracking_info.tme.hwndTrack, SYSTEM_TIMER_TRACK_MOUSE, hover_time );
- }
- }
-
- return TRUE;
-}
/***********************************************************************
* EnableMouseInPointer (USER32.@)
diff --git a/dlls/user32/scroll.c b/dlls/user32/scroll.c
index 45980b75b2c..8f085364dab 100644
--- a/dlls/user32/scroll.c
+++ b/dlls/user32/scroll.c
@@ -864,12 +864,12 @@ void SCROLL_HandleScrollEvent( HWND hwnd, INT nBar, UINT msg, POINT pt )
tme.cbSize = sizeof(tme);
tme.dwFlags = TME_QUERY;
- TrackMouseEvent( &tme );
+ NtUserTrackMouseEvent( &tme );
if (!(tme.dwFlags & TME_LEAVE) || tme.hwndTrack != hwnd)
{
tme.dwFlags = TME_LEAVE;
tme.hwndTrack = hwnd;
- TrackMouseEvent( &tme );
+ NtUserTrackMouseEvent( &tme );
}
break;
@@ -883,12 +883,12 @@ void SCROLL_HandleScrollEvent( HWND hwnd, INT nBar, UINT msg, POINT pt )
tme.cbSize = sizeof(tme);
tme.dwFlags = TME_QUERY;
- TrackMouseEvent( &tme );
+ NtUserTrackMouseEvent( &tme );
if (((tme.dwFlags & (TME_NONCLIENT | TME_LEAVE)) != (TME_NONCLIENT | TME_LEAVE)) || tme.hwndTrack != hwnd)
{
tme.dwFlags = TME_NONCLIENT | TME_LEAVE;
tme.hwndTrack = hwnd;
- TrackMouseEvent( &tme );
+ NtUserTrackMouseEvent( &tme );
}
break;
diff --git a/dlls/user32/user32.spec b/dlls/user32/user32.spec
index a7b2f7e0681..f7f41621812 100644
--- a/dlls/user32/user32.spec
+++ b/dlls/user32/user32.spec
@@ -762,7 +762,7 @@
@ stdcall ToAsciiEx(long long ptr ptr long long)
@ stdcall ToUnicode(long long ptr ptr long long)
@ stdcall ToUnicodeEx(long long ptr ptr long long long) NtUserToUnicodeEx
-@ stdcall TrackMouseEvent(ptr)
+@ stdcall TrackMouseEvent(ptr) NtUserTrackMouseEvent
@ stdcall TrackPopupMenu(long long long long long long ptr)
@ stdcall TrackPopupMenuEx(long long long long long ptr)
@ stdcall TranslateAccelerator(long long ptr) TranslateAcceleratorA
diff --git a/dlls/user32/user_main.c b/dlls/user32/user_main.c
index 08f2833ee3f..6e0722e4750 100644
--- a/dlls/user32/user_main.c
+++ b/dlls/user32/user_main.c
@@ -179,7 +179,6 @@ static const struct user_callbacks user_funcs =
SCROLL_SetStandardScrollPainted,
toggle_caret,
unpack_dde_message,
- update_mouse_tracking_info,
register_imm,
unregister_imm,
};
diff --git a/dlls/user32/user_private.h b/dlls/user32/user_private.h
index 54b11f2a8ef..96c47a71753 100644
--- a/dlls/user32/user_private.h
+++ b/dlls/user32/user_private.h
@@ -100,7 +100,6 @@ extern void SYSPARAMS_Init(void) DECLSPEC_HIDDEN;
extern void USER_CheckNotLock(void) DECLSPEC_HIDDEN;
extern BOOL USER_IsExitingThread( DWORD tid ) DECLSPEC_HIDDEN;
extern void CDECL toggle_caret( HWND hwnd ) DECLSPEC_HIDDEN;
-extern void CDECL update_mouse_tracking_info( HWND hwnd ) DECLSPEC_HIDDEN;
typedef LRESULT (*winproc_callback_t)( HWND hwnd, UINT msg, WPARAM wp, LPARAM lp,
LRESULT *result, void *arg );
diff --git a/dlls/win32u/gdiobj.c b/dlls/win32u/gdiobj.c
index fbaf61a52f6..ed483d8f205 100644
--- a/dlls/win32u/gdiobj.c
+++ b/dlls/win32u/gdiobj.c
@@ -1213,6 +1213,7 @@ static struct unix_funcs unix_funcs =
NtUserSystemParametersInfo,
NtUserSystemParametersInfoForDpi,
NtUserToUnicodeEx,
+ NtUserTrackMouseEvent,
NtUserTranslateMessage,
NtUserUnregisterClass,
NtUserUnregisterHotKey,
diff --git a/dlls/win32u/input.c b/dlls/win32u/input.c
index dd28170b1f0..61de034d7c8 100644
--- a/dlls/win32u/input.c
+++ b/dlls/win32u/input.c
@@ -1171,6 +1171,224 @@ int WINAPI NtUserGetMouseMovePointsEx( UINT size, MOUSEMOVEPOINT *ptin, MOUSEMOV
return copied;
}
+static WORD get_key_state(void)
+{
+ WORD ret = 0;
+
+ if (get_system_metrics( SM_SWAPBUTTON ))
+ {
+ if (NtUserGetAsyncKeyState(VK_RBUTTON) & 0x80) ret |= MK_LBUTTON;
+ if (NtUserGetAsyncKeyState(VK_LBUTTON) & 0x80) ret |= MK_RBUTTON;
+ }
+ else
+ {
+ if (NtUserGetAsyncKeyState(VK_LBUTTON) & 0x80) ret |= MK_LBUTTON;
+ if (NtUserGetAsyncKeyState(VK_RBUTTON) & 0x80) ret |= MK_RBUTTON;
+ }
+ if (NtUserGetAsyncKeyState(VK_MBUTTON) & 0x80) ret |= MK_MBUTTON;
+ if (NtUserGetAsyncKeyState(VK_SHIFT) & 0x80) ret |= MK_SHIFT;
+ if (NtUserGetAsyncKeyState(VK_CONTROL) & 0x80) ret |= MK_CONTROL;
+ if (NtUserGetAsyncKeyState(VK_XBUTTON1) & 0x80) ret |= MK_XBUTTON1;
+ if (NtUserGetAsyncKeyState(VK_XBUTTON2) & 0x80) ret |= MK_XBUTTON2;
+ return ret;
+}
+
+struct tracking_list
+{
+ TRACKMOUSEEVENT info;
+ POINT pos; /* center of hover rectangle */
+};
+
+/* FIXME: move tracking stuff into per-thread data */
+static struct tracking_list tracking_info;
+
+static void check_mouse_leave( HWND hwnd, int hittest )
+{
+ if (tracking_info.info.hwndTrack != hwnd)
+ {
+ if (tracking_info.info.dwFlags & TME_NONCLIENT)
+ NtUserPostMessage( tracking_info.info.hwndTrack, WM_NCMOUSELEAVE, 0, 0 );
+ else
+ NtUserPostMessage( tracking_info.info.hwndTrack, WM_MOUSELEAVE, 0, 0 );
+
+ tracking_info.info.dwFlags &= ~TME_LEAVE;
+ }
+ else
+ {
+ if (hittest == HTCLIENT)
+ {
+ if (tracking_info.info.dwFlags & TME_NONCLIENT)
+ {
+ NtUserPostMessage( tracking_info.info.hwndTrack, WM_NCMOUSELEAVE, 0, 0 );
+ tracking_info.info.dwFlags &= ~TME_LEAVE;
+ }
+ }
+ else
+ {
+ if (!(tracking_info.info.dwFlags & TME_NONCLIENT))
+ {
+ NtUserPostMessage( tracking_info.info.hwndTrack, WM_MOUSELEAVE, 0, 0 );
+ tracking_info.info.dwFlags &= ~TME_LEAVE;
+ }
+ }
+ }
+}
+
+void update_mouse_tracking_info( HWND hwnd )
+{
+ int hover_width = 0, hover_height = 0, hittest;
+ POINT pos;
+
+ TRACE( "hwnd %p\n", hwnd );
+
+ get_cursor_pos( &pos );
+ hwnd = window_from_point( hwnd, pos, &hittest );
+
+ TRACE( "point %s hwnd %p hittest %d\n", wine_dbgstr_point(&pos), hwnd, hittest );
+
+ NtUserSystemParametersInfo( SPI_GETMOUSEHOVERWIDTH, 0, &hover_width, 0 );
+ NtUserSystemParametersInfo( SPI_GETMOUSEHOVERHEIGHT, 0, &hover_height, 0 );
+
+ TRACE( "tracked pos %s, current pos %s, hover width %d, hover height %d\n",
+ wine_dbgstr_point(&tracking_info.pos), wine_dbgstr_point(&pos),
+ hover_width, hover_height );
+
+ if (tracking_info.info.dwFlags & TME_LEAVE)
+ check_mouse_leave(hwnd, hittest);
+
+ if (tracking_info.info.hwndTrack != hwnd)
+ tracking_info.info.dwFlags &= ~TME_HOVER;
+
+ if (tracking_info.info.dwFlags & TME_HOVER)
+ {
+ /* has the cursor moved outside the rectangle centered around pos? */
+ if ((abs( pos.x - tracking_info.pos.x ) > (hover_width / 2)) ||
+ (abs( pos.y - tracking_info.pos.y ) > (hover_height / 2)))
+ {
+ tracking_info.pos = pos;
+ }
+ else
+ {
+ if (hittest == HTCLIENT)
+ {
+ screen_to_client(hwnd, &pos);
+ TRACE( "client cursor pos %s\n", wine_dbgstr_point(&pos) );
+
+ NtUserPostMessage( tracking_info.info.hwndTrack, WM_MOUSEHOVER,
+ get_key_state(), MAKELPARAM( pos.x, pos.y ) );
+ }
+ else
+ {
+ if (tracking_info.info.dwFlags & TME_NONCLIENT)
+ NtUserPostMessage( tracking_info.info.hwndTrack, WM_NCMOUSEHOVER,
+ hittest, MAKELPARAM( pos.x, pos.y ) );
+ }
+
+ /* stop tracking mouse hover */
+ tracking_info.info.dwFlags &= ~TME_HOVER;
+ }
+ }
+
+ /* stop the timer if the tracking list is empty */
+ if (!(tracking_info.info.dwFlags & (TME_HOVER | TME_LEAVE)))
+ {
+ kill_system_timer( tracking_info.info.hwndTrack, SYSTEM_TIMER_TRACK_MOUSE );
+ tracking_info.info.hwndTrack = 0;
+ tracking_info.info.dwFlags = 0;
+ tracking_info.info.dwHoverTime = 0;
+ }
+}
+
+/***********************************************************************
+ * NtUserTrackMouseEvent (win32u.@)
+ */
+BOOL WINAPI NtUserTrackMouseEvent( TRACKMOUSEEVENT *info )
+{
+ DWORD hover_time;
+ int hittest;
+ HWND hwnd;
+ POINT pos;
+
+ TRACE( "size %u, flags %#x, hwnd %p, time %u\n",
+ info->cbSize, info->dwFlags, info->hwndTrack, info->dwHoverTime );
+
+ if (info->cbSize != sizeof(TRACKMOUSEEVENT))
+ {
+ WARN( "wrong size %u\n", info->cbSize );
+ SetLastError( ERROR_INVALID_PARAMETER );
+ return FALSE;
+ }
+
+ if (info->dwFlags & TME_QUERY)
+ {
+ *info = tracking_info.info;
+ info->cbSize = sizeof(TRACKMOUSEEVENT);
+ return TRUE;
+ }
+
+ if (!is_window( info->hwndTrack ))
+ {
+ SetLastError( ERROR_INVALID_WINDOW_HANDLE );
+ return FALSE;
+ }
+
+ hover_time = (info->dwFlags & TME_HOVER) ? info->dwHoverTime : HOVER_DEFAULT;
+
+ if (hover_time == HOVER_DEFAULT || hover_time == 0)
+ NtUserSystemParametersInfo( SPI_GETMOUSEHOVERTIME, 0, &hover_time, 0 );
+
+ get_cursor_pos( &pos );
+ hwnd = window_from_point( info->hwndTrack, pos, &hittest );
+ TRACE( "point %s hwnd %p hittest %d\n", wine_dbgstr_point(&pos), hwnd, hittest );
+
+ if (info->dwFlags & ~(TME_CANCEL | TME_HOVER | TME_LEAVE | TME_NONCLIENT))
+ FIXME( "ignoring flags %#x\n", info->dwFlags & ~(TME_CANCEL | TME_HOVER | TME_LEAVE | TME_NONCLIENT) );
+
+ if (info->dwFlags & TME_CANCEL)
+ {
+ if (tracking_info.info.hwndTrack == info->hwndTrack)
+ {
+ tracking_info.info.dwFlags &= ~(info->dwFlags & ~TME_CANCEL);
+
+ /* if we aren't tracking on hover or leave remove this entry */
+ if (!(tracking_info.info.dwFlags & (TME_HOVER | TME_LEAVE)))
+ {
+ kill_system_timer( tracking_info.info.hwndTrack, SYSTEM_TIMER_TRACK_MOUSE );
+ tracking_info.info.hwndTrack = 0;
+ tracking_info.info.dwFlags = 0;
+ tracking_info.info.dwHoverTime = 0;
+ }
+ }
+ }
+ else
+ {
+ /* In our implementation, it's possible that another window will receive
+ * WM_MOUSEMOVE and call TrackMouseEvent before TrackMouseEventProc is
+ * called. In such a situation, post the WM_MOUSELEAVE now. */
+ if ((tracking_info.info.dwFlags & TME_LEAVE) && tracking_info.info.hwndTrack != NULL)
+ check_mouse_leave(hwnd, hittest);
+
+ kill_system_timer( tracking_info.info.hwndTrack, SYSTEM_TIMER_TRACK_MOUSE );
+ tracking_info.info.hwndTrack = 0;
+ tracking_info.info.dwFlags = 0;
+ tracking_info.info.dwHoverTime = 0;
+
+ if (info->hwndTrack == hwnd)
+ {
+ /* Adding new mouse event to the tracking list */
+ tracking_info.info = *info;
+ tracking_info.info.dwHoverTime = hover_time;
+
+ /* Initialize HoverInfo variables even if not hover tracking */
+ tracking_info.pos = pos;
+
+ NtUserSetSystemTimer( tracking_info.info.hwndTrack, SYSTEM_TIMER_TRACK_MOUSE, hover_time );
+ }
+ }
+
+ return TRUE;
+}
+
/**********************************************************************
* set_capture_window
*/
diff --git a/dlls/win32u/message.c b/dlls/win32u/message.c
index 02644e71929..8ad4a0271b3 100644
--- a/dlls/win32u/message.c
+++ b/dlls/win32u/message.c
@@ -2479,8 +2479,7 @@ LRESULT dispatch_message( const MSG *msg, BOOL ansi )
return 0;
case SYSTEM_TIMER_TRACK_MOUSE:
- if (!user_callbacks) break;
- user_callbacks->update_mouse_tracking_info( msg->hwnd );
+ update_mouse_tracking_info( msg->hwnd );
return 0;
}
}
diff --git a/dlls/win32u/ntuser_private.h b/dlls/win32u/ntuser_private.h
index 604817708c7..cad038dbff6 100644
--- a/dlls/win32u/ntuser_private.h
+++ b/dlls/win32u/ntuser_private.h
@@ -54,7 +54,6 @@ struct user_callbacks
void (CDECL *toggle_caret)( HWND hwnd );
BOOL (CDECL *unpack_dde_message)( HWND hwnd, UINT message, WPARAM *wparam, LPARAM *lparam,
void **buffer, size_t size );
- void (CDECL *update_mouse_tracking_info)( HWND hwnd );
BOOL (WINAPI *register_imm)( HWND hwnd );
void (WINAPI *unregister_imm)( HWND hwnd );
};
diff --git a/dlls/win32u/win32u.spec b/dlls/win32u/win32u.spec
index aa40be5f652..265e2ca808b 100644
--- a/dlls/win32u/win32u.spec
+++ b/dlls/win32u/win32u.spec
@@ -1277,7 +1277,7 @@
@ stdcall -syscall NtUserThunkedMenuInfo(long ptr)
@ stub NtUserThunkedMenuItemInfo
@ stdcall NtUserToUnicodeEx(long long ptr ptr long long long)
-@ stub NtUserTrackMouseEvent
+@ stdcall NtUserTrackMouseEvent(ptr)
@ stub NtUserTrackPopupMenuEx
@ stub NtUserTransformPoint
@ stub NtUserTransformRect
diff --git a/dlls/win32u/win32u_private.h b/dlls/win32u/win32u_private.h
index 4c1b0a7b45b..d13958e8449 100644
--- a/dlls/win32u/win32u_private.h
+++ b/dlls/win32u/win32u_private.h
@@ -287,6 +287,7 @@ struct unix_funcs
UINT winini, UINT dpi );
INT (WINAPI *pNtUserToUnicodeEx)( UINT virt, UINT scan, const BYTE *state,
WCHAR *str, int size, UINT flags, HKL layout );
+ BOOL (WINAPI *pNtUserTrackMouseEvent)( TRACKMOUSEEVENT *info );
BOOL (WINAPI *pNtUserTranslateMessage)( const MSG *msg, UINT flags );
BOOL (WINAPI *pNtUserUnregisterClass)( UNICODE_STRING *name, HINSTANCE instance,
struct client_menu_name *client_menu_name );
@@ -357,6 +358,7 @@ extern DWORD get_input_state(void) DECLSPEC_HIDDEN;
extern BOOL WINAPI release_capture(void) DECLSPEC_HIDDEN;
extern BOOL set_capture_window( HWND hwnd, UINT gui_flags, HWND *prev_ret ) DECLSPEC_HIDDEN;
extern BOOL set_foreground_window( HWND hwnd, BOOL mouse ) DECLSPEC_HIDDEN;
+extern void update_mouse_tracking_info( HWND hwnd ) DECLSPEC_HIDDEN;
/* menu.c */
extern HMENU create_menu( BOOL is_popup ) DECLSPEC_HIDDEN;
diff --git a/dlls/win32u/wrappers.c b/dlls/win32u/wrappers.c
index d3497d29f03..8ac82139dd0 100644
--- a/dlls/win32u/wrappers.c
+++ b/dlls/win32u/wrappers.c
@@ -1210,6 +1210,12 @@ INT WINAPI NtUserToUnicodeEx( UINT virt, UINT scan, const BYTE *state,
return unix_funcs->pNtUserToUnicodeEx( virt, scan, state, str, size, flags, layout );
}
+BOOL WINAPI NtUserTrackMouseEvent( TRACKMOUSEEVENT *info )
+{
+ if (!unix_funcs) return FALSE;
+ return unix_funcs->pNtUserTrackMouseEvent( info );
+}
+
BOOL WINAPI NtUserTranslateMessage( const MSG *msg, UINT flags )
{
if (!unix_funcs) return 0;
diff --git a/include/ntuser.h b/include/ntuser.h
index d06b76ab605..aa2683fc451 100644
--- a/include/ntuser.h
+++ b/include/ntuser.h
@@ -586,6 +586,7 @@ BOOL WINAPI NtUserSystemParametersInfoForDpi( UINT action, UINT val, PVOID pt
BOOL WINAPI NtUserThunkedMenuInfo( HMENU menu, const MENUINFO *info );
INT WINAPI NtUserToUnicodeEx( UINT virt, UINT scan, const BYTE *state,
WCHAR *str, int size, UINT flags, HKL layout );
+BOOL WINAPI NtUserTrackMouseEvent( TRACKMOUSEEVENT *info );
INT WINAPI NtUserTranslateAccelerator( HWND hwnd, HACCEL accel, MSG *msg );
BOOL WINAPI NtUserTranslateMessage( const MSG *msg, UINT flags );
BOOL WINAPI NtUserUnhookWinEvent( HWINEVENTHOOK hEventHook );
--
2.35.1
2
4
[PATCH v2] ntdll: Fix passing timeout to FUTEX_WAIT when 64-bit time_t is used.
by Piotr Caban April 25, 2022
by Piotr Caban April 25, 2022
April 25, 2022
Signed-off-by: Piotr Caban <piotr(a)codeweavers.com>
---
I'm not sure if it's the best way of fixing the problem. I can't find
anything else except of detecting time_t size at runtime.
dlls/ntdll/unix/sync.c | 27 +++++++++++++++++++++------
1 file changed, 21 insertions(+), 6 deletions(-)
3
4
[PATCH 1/7] quartz/tests: Add tests for MPEG audio decoder interfaces.
by Anton Baskanov April 25, 2022
by Anton Baskanov April 25, 2022
April 25, 2022
Signed-off-by: Anton Baskanov <baskanov(a)gmail.com>
---
dlls/quartz/tests/Makefile.in | 1 +
dlls/quartz/tests/mpegaudio.c | 114 ++++++++++++++++++++++++++++++++++
2 files changed, 115 insertions(+)
create mode 100644 dlls/quartz/tests/mpegaudio.c
diff --git a/dlls/quartz/tests/Makefile.in b/dlls/quartz/tests/Makefile.in
index 423abc78ef6..8031a766295 100644
--- a/dlls/quartz/tests/Makefile.in
+++ b/dlls/quartz/tests/Makefile.in
@@ -10,6 +10,7 @@ C_SRCS = \
filtergraph.c \
filtermapper.c \
memallocator.c \
+ mpegaudio.c \
mpegsplit.c \
passthrough.c \
systemclock.c \
diff --git a/dlls/quartz/tests/mpegaudio.c b/dlls/quartz/tests/mpegaudio.c
new file mode 100644
index 00000000000..7ca07575451
--- /dev/null
+++ b/dlls/quartz/tests/mpegaudio.c
@@ -0,0 +1,114 @@
+/*
+ * MPEG audio decoder filter unit tests
+ *
+ * Copyright 2022 Anton Baskanov
+ * Copyright 2018 Zebediah Figura
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
+ */
+
+#define COBJMACROS
+#include "dshow.h"
+#include "wine/test.h"
+
+static IBaseFilter *create_mpeg_audio_codec(void)
+{
+ IBaseFilter *filter = NULL;
+ HRESULT hr = CoCreateInstance(&CLSID_CMpegAudioCodec, NULL, CLSCTX_INPROC_SERVER,
+ &IID_IBaseFilter, (void **)&filter);
+ todo_wine ok(hr == S_OK, "Got hr %#lx.\n", hr);
+ return filter;
+}
+
+#define check_interface(a, b, c) check_interface_(__LINE__, a, b, c)
+static void check_interface_(unsigned int line, void *iface_ptr, REFIID iid, BOOL supported)
+{
+ IUnknown *iface = iface_ptr;
+ HRESULT hr, expected_hr;
+ IUnknown *unk;
+
+ expected_hr = supported ? S_OK : E_NOINTERFACE;
+
+ hr = IUnknown_QueryInterface(iface, iid, (void **)&unk);
+ ok_(__FILE__, line)(hr == expected_hr, "Got hr %#lx, expected %#lx.\n", hr, expected_hr);
+ if (SUCCEEDED(hr))
+ IUnknown_Release(unk);
+}
+
+static void test_interfaces(void)
+{
+ IBaseFilter *filter;
+ IPin *pin;
+
+ filter = create_mpeg_audio_codec();
+ if (!filter)
+ {
+ skip("Failed to create MPEG audio decoder instance, skipping tests.\n");
+ return;
+ }
+
+ check_interface(filter, &IID_IBaseFilter, TRUE);
+ check_interface(filter, &IID_IMediaFilter, TRUE);
+ check_interface(filter, &IID_IPersist, TRUE);
+ check_interface(filter, &IID_IUnknown, TRUE);
+
+ check_interface(filter, &IID_IAMFilterMiscFlags, FALSE);
+ check_interface(filter, &IID_IBasicAudio, FALSE);
+ check_interface(filter, &IID_IBasicVideo, FALSE);
+ check_interface(filter, &IID_IKsPropertySet, FALSE);
+ check_interface(filter, &IID_IMediaPosition, FALSE);
+ check_interface(filter, &IID_IMediaSeeking, FALSE);
+ check_interface(filter, &IID_IPin, FALSE);
+ check_interface(filter, &IID_IQualityControl, FALSE);
+ check_interface(filter, &IID_IQualProp, FALSE);
+ check_interface(filter, &IID_IReferenceClock, FALSE);
+ check_interface(filter, &IID_IVideoWindow, FALSE);
+ check_interface(filter, &IID_IPersistPropertyBag, FALSE);
+
+ IBaseFilter_FindPin(filter, L"In", &pin);
+
+ check_interface(pin, &IID_IMemInputPin, TRUE);
+ check_interface(pin, &IID_IPin, TRUE);
+ todo_wine check_interface(pin, &IID_IQualityControl, TRUE);
+ check_interface(pin, &IID_IUnknown, TRUE);
+
+ check_interface(pin, &IID_IMediaPosition, FALSE);
+ check_interface(pin, &IID_IMediaSeeking, FALSE);
+
+ IPin_Release(pin);
+
+ IBaseFilter_FindPin(filter, L"Out", &pin);
+
+ check_interface(pin, &IID_IPin, TRUE);
+ todo_wine check_interface(pin, &IID_IMediaPosition, TRUE);
+ todo_wine check_interface(pin, &IID_IMediaSeeking, TRUE);
+ todo_wine check_interface(pin, &IID_IQualityControl, TRUE);
+ check_interface(pin, &IID_IUnknown, TRUE);
+
+ check_interface(pin, &IID_IAsyncReader, FALSE);
+
+ IPin_Release(pin);
+
+ IBaseFilter_Release(filter);
+}
+
+START_TEST(mpegaudio)
+{
+ CoInitialize(NULL);
+
+ test_interfaces();
+
+ CoUninitialize();
+}
--
2.34.1
3
14
[tools 1/5] testbot/cgi: Pass a column descriptor to Generate{Header,Data}View().
by Francois Gouget April 25, 2022
by Francois Gouget April 25, 2022
April 25, 2022
Instead of being called for every row, DisplayProperty() is now called
only once and the result is stored in the corresponding column
descriptor. This also allows passing extra information such as the
column index to Generate{Header,Data}View().
And this allows GenerateList() to iterate only on the properties that
are actually being displayed.
Signed-off-by: Francois Gouget <fgouget(a)codeweavers.com>
---
.../lib/ObjectModel/CGI/CollectionBlock.pm | 81 +++++++++++--------
testbot/web/JobDetails.pl | 14 ++--
testbot/web/PatchesList.pl | 6 +-
testbot/web/admin/UsersList.pl | 6 +-
testbot/web/index.pl | 12 +--
5 files changed, 68 insertions(+), 51 deletions(-)
diff --git a/testbot/lib/ObjectModel/CGI/CollectionBlock.pm b/testbot/lib/ObjectModel/CGI/CollectionBlock.pm
index 03f1d18cd..14e3cfe54 100644
--- a/testbot/lib/ObjectModel/CGI/CollectionBlock.pm
+++ b/testbot/lib/ObjectModel/CGI/CollectionBlock.pm
@@ -227,6 +227,20 @@ sub GetDetailsLink($$)
Generates an HTML snippet for the column title.
+The Col parameter describes the column to generate the header for.
+It contains the following information:
+=over 12
+=item Descriptor
+The corresponding PropertyDescriptor object.
+
+=item Display
+The value returned by DisplayProperty(), normally "ro".
+
+=item Index
+The index of the column (see $Row->{Cols}).
+
+=back
+
The Row parameter contains the following information:
=over 12
@@ -234,6 +248,10 @@ The Row parameter contains the following information:
The list of item properties, including those that DisplayProperty() says
should be hidden.
+=item Cols
+The collection block's list of columns. This excludes any hidden property.
+The following relation holds: $Row->{Cols}->[$Col->{Index}] == $Col
+
=item DetailsPage
The base link to the item details page if any. See GetDetailsPage().
@@ -253,9 +271,9 @@ The total number of rows (excluding the header).
sub GenerateHeaderView($$$)
{
- my ($self, $_Row, $PropertyDescriptor) = @_;
+ my ($self, $_Row, $Col) = @_;
- print $self->escapeHTML($PropertyDescriptor->GetDisplayName());
+ print $self->escapeHTML($Col->{Descriptor}->GetDisplayName());
}
=pod
@@ -266,8 +284,8 @@ sub GenerateHeaderView($$$)
Generates an HTML snippet representing the property value in a user-readable
form.
-The Row parameter contains the same information as for GenerateHeaderView()
-plus:
+See GenerateHeaderView() for a description of the Row and Col parameters.
+The Row parameter has the following extra fields:
=over 12
=item Row
@@ -286,11 +304,11 @@ passing the row to GetDetailsLink().
sub GenerateDataView($$$)
{
- my ($self, $Row, $PropertyDescriptor) = @_;
+ my ($self, $Row, $Col) = @_;
- my $PropertyName = $PropertyDescriptor->GetName();
+ my $PropertyName = $Col->{Descriptor}->GetName();
my $Value = $Row->{Item}->$PropertyName;
- GenerateValueHTML($self, $PropertyDescriptor, $Value);
+ GenerateValueHTML($self, $Col->{Descriptor}, $Value);
}
@@ -317,10 +335,10 @@ sub GenerateFormStart($)
sub GenerateHeaderCell($$$)
{
- my ($self, $Row, $PropertyDescriptor) = @_;
+ my ($self, $Row, $Col) = @_;
print "<th>";
- $self->GenerateHeaderView($Row, $PropertyDescriptor);
+ $self->GenerateHeaderView($Row, $Col);
print "</th>\n";
}
@@ -336,12 +354,9 @@ sub GenerateHeaderRow($$)
GenerateMasterCheckbox("block$self->{Unique}");
print "</th>\n";
}
- foreach my $PropertyDescriptor (@{$Row->{PropertyDescriptors}})
+ foreach my $Col (@{$Row->{Cols}})
{
- if ($self->DisplayProperty($PropertyDescriptor))
- {
- $self->GenerateHeaderCell($Row, $PropertyDescriptor);
- }
+ $self->GenerateHeaderCell($Row, $Col);
}
print "</tr>\n";
}
@@ -356,16 +371,16 @@ sub SelName($$)
sub GenerateDataCell($$$)
{
- my ($self, $Row, $PropertyDescriptor) = @_;
+ my ($self, $Row, $Col) = @_;
print "<td>";
my $CloseLink;
- if ($Row->{DetailsPage} and $PropertyDescriptor->GetIsKey())
+ if ($Row->{DetailsPage} and $Col->{Descriptor}->GetIsKey())
{
print "<a href='", $self->escapeHTML($self->GetDetailsLink($Row)), "'>";
$CloseLink = "</a>";
}
- $self->GenerateDataView($Row, $PropertyDescriptor);
+ $self->GenerateDataView($Row, $Col);
print "$CloseLink</td>\n";
}
@@ -380,12 +395,9 @@ sub GenerateDataRow($$)
print "<td><input name='", $self->SelName($Row->{Item}->GetKey()),
"' type='checkbox' cbgroup='block$self->{Unique}'/></td>\n";
}
- foreach my $PropertyDescriptor (@{$Row->{PropertyDescriptors}})
+ foreach my $Col (@{$Row->{Cols}})
{
- if ($self->DisplayProperty($PropertyDescriptor))
- {
- $self->GenerateDataCell($Row, $PropertyDescriptor);
- }
+ $self->GenerateDataCell($Row, $Col);
}
print "</tr>\n";
}
@@ -403,18 +415,22 @@ sub GenerateList($)
my $Collection = $self->{Collection};
my $PropertyDescriptors = $Collection->GetPropertyDescriptors();
+ my $ColIndex = 0;
+ my (@Cols, $HasDT);
+ foreach my $PropertyDescriptor (@$PropertyDescriptors)
+ {
+ my $Display = $self->DisplayProperty($PropertyDescriptor);
+ next if (!$Display);
+ push @Cols, {Descriptor => $PropertyDescriptor,
+ Display => $Display,
+ Index => $ColIndex++};
+ $HasDT ||= ($PropertyDescriptor->GetClass() eq "Basic" and
+ $PropertyDescriptor->GetType() eq "DT");
+ }
my $Items = $self->{Collection}->GetSortedItems();
- if (@$Items != 0)
+ if ($HasDT and @$Items != 0)
{
- foreach my $PropertyDescriptor (@$PropertyDescriptors)
- {
- if ($PropertyDescriptor->GetClass() eq "Basic" and
- $PropertyDescriptor->GetType() eq "DT")
- {
- $self->{EnclosingPage}->GenerateImportJS(GetDateTimeJSFile());
- last;
- }
- }
+ $self->{EnclosingPage}->GenerateImportJS(GetDateTimeJSFile());
}
print "<div class='CollectionBlock'>\n";
@@ -427,6 +443,7 @@ sub GenerateList($)
print "<thead>\n";
my $Row = {
PropertyDescriptors => $PropertyDescriptors,
+ Cols => \@Cols,
DetailsPage => $self->GetDetailsPage(),
ItemActions => $self->{RW} ? $self->GetItemActions() : [],
Row => 0, # 0 for the header ---> 1 for the first line
diff --git a/testbot/web/JobDetails.pl b/testbot/web/JobDetails.pl
index e39df41b5..591a47ee9 100644
--- a/testbot/web/JobDetails.pl
+++ b/testbot/web/JobDetails.pl
@@ -60,9 +60,9 @@ sub DisplayProperty($$)
sub GenerateHeaderView($$$)
{
- my ($self, $Row, $PropertyDescriptor) = @_;
+ my ($self, $Row, $Col) = @_;
- my $PropertyName = $PropertyDescriptor->GetName();
+ my $PropertyName = $Col->{Descriptor}->GetName();
if ($PropertyName eq "CmdLineArg")
{
print "Arguments / <span class='MissionHeader'>Missions</span>";
@@ -73,16 +73,16 @@ sub GenerateHeaderView($$$)
}
else
{
- $self->SUPER::GenerateHeaderView($Row, $PropertyDescriptor);
+ $self->SUPER::GenerateHeaderView($Row, $Col);
}
}
sub GenerateDataView($$$)
{
- my ($self, $Row, $PropertyDescriptor) = @_;
+ my ($self, $Row, $Col) = @_;
my $StepTask = $Row->{Item};
- my $PropertyName = $PropertyDescriptor->GetName();
+ my $PropertyName = $Col->{Descriptor}->GetName();
if ($PropertyName eq "VM")
{
print "<a href='#k", $self->escapeHTML($Row->{Item}->GetKey()), "'>";
@@ -103,7 +103,7 @@ sub GenerateDataView($$$)
}
else
{
- $self->SUPER::GenerateDataView($Row, $PropertyDescriptor);
+ $self->SUPER::GenerateDataView($Row, $Col);
}
}
elsif ($PropertyName eq "CmdLineArg")
@@ -144,7 +144,7 @@ sub GenerateDataView($$$)
}
else
{
- $self->SUPER::GenerateDataView($Row, $PropertyDescriptor);
+ $self->SUPER::GenerateDataView($Row, $Col);
}
}
diff --git a/testbot/web/PatchesList.pl b/testbot/web/PatchesList.pl
index a1c5171df..30cfc7547 100644
--- a/testbot/web/PatchesList.pl
+++ b/testbot/web/PatchesList.pl
@@ -46,9 +46,9 @@ sub DisplayProperty($$)
sub GenerateDataView($$$)
{
- my ($self, $Row, $PropertyDescriptor) = @_;
+ my ($self, $Row, $Col) = @_;
- if ($PropertyDescriptor->GetName() eq "Disposition" and
+ if ($Col->{Descriptor}->GetName() eq "Disposition" and
$Row->{Item}->Disposition =~ /job ([0-9]+)$/)
{
my $JobId = $1;
@@ -56,7 +56,7 @@ sub GenerateDataView($$$)
}
else
{
- $self->SUPER::GenerateDataView($Row, $PropertyDescriptor);
+ $self->SUPER::GenerateDataView($Row, $Col);
}
}
diff --git a/testbot/web/admin/UsersList.pl b/testbot/web/admin/UsersList.pl
index ec6d2822e..5f9f47b46 100644
--- a/testbot/web/admin/UsersList.pl
+++ b/testbot/web/admin/UsersList.pl
@@ -47,9 +47,9 @@ sub DisplayProperty($$)
sub GenerateDataView($$$)
{
- my ($self, $Row, $PropertyDescriptor) = @_;
+ my ($self, $Row, $Col) = @_;
- if ($PropertyDescriptor->GetName() eq "Status")
+ if ($Col->{Descriptor}->GetName() eq "Status")
{
my $User = $Row->{Item};
my $Status = $User->Status;
@@ -87,7 +87,7 @@ sub GenerateDataView($$$)
}
else
{
- $self->SUPER::GenerateDataView($Row, $PropertyDescriptor);
+ $self->SUPER::GenerateDataView($Row, $Col);
}
}
diff --git a/testbot/web/index.pl b/testbot/web/index.pl
index 1c506c9b1..331ee85ea 100644
--- a/testbot/web/index.pl
+++ b/testbot/web/index.pl
@@ -51,9 +51,9 @@ sub DisplayProperty($$)
sub GenerateHeaderView($$$)
{
- my ($self, $Row, $PropertyDescriptor) = @_;
+ my ($self, $Row, $Col) = @_;
- my $PropertyName = $PropertyDescriptor->GetName();
+ my $PropertyName = $Col->{Descriptor}->GetName();
if ($PropertyName eq "Priority")
{
print "<a class='title' title='Higher values indicate a lower priority'>Nice</a>";
@@ -64,16 +64,16 @@ sub GenerateHeaderView($$$)
}
else
{
- $self->SUPER::GenerateHeaderView($Row, $PropertyDescriptor);
+ $self->SUPER::GenerateHeaderView($Row, $Col);
}
}
sub GenerateDataView($$$)
{
- my ($self, $Row, $PropertyDescriptor) = @_;
+ my ($self, $Row, $Col) = @_;
my $Job = $Row->{Item};
- my $PropertyName = $PropertyDescriptor->GetName();
+ my $PropertyName = $Col->{Descriptor}->GetName();
if ($PropertyName eq "User")
{
if (defined $Job->Patch and defined $Job->Patch->FromName and
@@ -166,7 +166,7 @@ sub GenerateDataView($$$)
}
else
{
- $self->SUPER::GenerateDataView($Row, $PropertyDescriptor);
+ $self->SUPER::GenerateDataView($Row, $Col);
}
}
--
2.30.2
1
4
[PATCH 1/2] oleacc/tests: Add tests for IIS_IsOleaccProxy service on default accessible objects.
by Connor McAdams April 25, 2022
by Connor McAdams April 25, 2022
April 25, 2022
Signed-off-by: Connor McAdams <cmcadams(a)codeweavers.com>
---
dlls/oleacc/tests/main.c | 29 +++++++++++++++++++++++++++++
1 file changed, 29 insertions(+)
diff --git a/dlls/oleacc/tests/main.c b/dlls/oleacc/tests/main.c
index 5522867b085..2d6a6c4cc2c 100644
--- a/dlls/oleacc/tests/main.c
+++ b/dlls/oleacc/tests/main.c
@@ -27,6 +27,7 @@
#include <ole2.h>
#include <commctrl.h>
#include <oleacc.h>
+#include <servprov.h>
#define DEFINE_EXPECT(func) \
static BOOL expect_ ## func = FALSE, called_ ## func = FALSE
@@ -1409,6 +1410,32 @@ static LRESULT WINAPI test_query_class(HWND hwnd, UINT msg, WPARAM wparam, LPARA
return 0;
}
+#define check_acc_proxy_service( acc ) \
+ check_acc_proxy_service_( (acc), __LINE__)
+static void check_acc_proxy_service_(IAccessible *acc, int line)
+{
+ IServiceProvider *service = NULL;
+ IUnknown *unk = NULL;
+ HRESULT hr;
+
+ hr = IAccessible_QueryInterface(acc, &IID_IServiceProvider, (void **)&service);
+ todo_wine ok(hr == S_OK, "got %#lx\n", hr);
+ if (SUCCEEDED(hr))
+ {
+ hr = IServiceProvider_QueryService(service, &IIS_IsOleaccProxy, &IID_IUnknown, (void **)&unk);
+ ok(hr == S_OK, "got %#lx\n", hr);
+ ok(!!unk, "unk == NULL\n");
+ ok(iface_cmp(unk, (IUnknown*)acc), "unk != acc\n");
+ IUnknown_Release(unk);
+
+ unk = NULL;
+ hr = IServiceProvider_QueryService(service, &IID_IUnknown, &IID_IUnknown, (void **)&unk);
+ ok(hr == E_INVALIDARG, "got %#lx\n", hr);
+ ok(!unk, "unk != NULL\n");
+ IServiceProvider_Release(service);
+ }
+}
+
static void test_CreateStdAccessibleObject_classes(void)
{
static const struct {
@@ -1463,6 +1490,7 @@ static void test_CreateStdAccessibleObject_classes(void)
ok(hr == S_OK, "CreateStdAccessibleObject failed %lx\n", hr);
if (tests[i].client)
CHECK_CALLED(winproc_GETOBJECT);
+ check_acc_proxy_service(acc);
IAccessible_Release(acc);
if (tests[i].window)
@@ -1471,6 +1499,7 @@ static void test_CreateStdAccessibleObject_classes(void)
ok(hr == S_OK, "CreateStdAccessibleObject failed %lx\n", hr);
if (tests[i].window)
CHECK_CALLED(winproc_GETOBJECT);
+ check_acc_proxy_service(acc);
IAccessible_Release(acc);
SetWindowLongPtrW(hwnd, GWLP_WNDPROC, (LONG_PTR)win_proc);
--
2.25.1
2
3
[PATCH v6 1/8] msvcr100: Add _StructuredTaskCollection::_Schedule stub.
by Torge Matthies April 25, 2022
by Torge Matthies April 25, 2022
April 25, 2022
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=47375
Signed-off-by: Torge Matthies <tmatthies(a)codeweavers.com>
---
dlls/concrt140/concrt140.spec | 6 +++---
dlls/msvcr100/msvcr100.spec | 4 ++--
dlls/msvcr110/msvcr110.spec | 6 +++---
dlls/msvcr120/msvcr120.spec | 6 +++---
dlls/msvcr120_app/msvcr120_app.spec | 6 +++---
dlls/msvcrt/concurrency.c | 27 +++++++++++++++++++++++++++
6 files changed, 41 insertions(+), 14 deletions(-)
diff --git a/dlls/concrt140/concrt140.spec b/dlls/concrt140/concrt140.spec
index 50db9348327b..6bb95661dd11 100644
--- a/dlls/concrt140/concrt140.spec
+++ b/dlls/concrt140/concrt140.spec
@@ -594,9 +594,9 @@
@ stub -arch=arm ?_RunAndWait(a)_TaskCollection@details(a)Concurrency@@QAA?AW4_TaskCollectionStatus(a)23@PAV_UnrealizedChore(a)23@@Z
@ stub -arch=i386 ?_RunAndWait(a)_TaskCollection@details(a)Concurrency@@QAG?AW4_TaskCollectionStatus(a)23@PAV_UnrealizedChore(a)23@@Z
@ stub -arch=win64 ?_RunAndWait(a)_TaskCollection@details(a)Concurrency@@QEAA?AW4_TaskCollectionStatus(a)23@PEAV_UnrealizedChore(a)23@@Z
-@ stub -arch=arm ?_Schedule(a)_StructuredTaskCollection@details(a)Concurrency@@QAAXPAV_UnrealizedChore(a)23@@Z
-@ stub -arch=i386 ?_Schedule(a)_StructuredTaskCollection@details(a)Concurrency@@QAEXPAV_UnrealizedChore(a)23@@Z
-@ stub -arch=win64 ?_Schedule(a)_StructuredTaskCollection@details(a)Concurrency@@QEAAXPEAV_UnrealizedChore(a)23@@Z
+@ thiscall -arch=arm ?_Schedule(a)_StructuredTaskCollection@details(a)Concurrency@@QAAXPAV_UnrealizedChore(a)23@@Z(ptr ptr) StructuredTaskCollection__Schedule
+@ thiscall -arch=i386 ?_Schedule(a)_StructuredTaskCollection@details(a)Concurrency@@QAEXPAV_UnrealizedChore(a)23@@Z(ptr ptr) StructuredTaskCollection__Schedule
+@ thiscall -arch=win64 ?_Schedule(a)_StructuredTaskCollection@details(a)Concurrency@@QEAAXPEAV_UnrealizedChore(a)23@@Z(ptr ptr) StructuredTaskCollection__Schedule
@ stub -arch=arm ?_Schedule(a)_StructuredTaskCollection@details(a)Concurrency@@QAAXPAV_UnrealizedChore(a)23@PAVlocation(a)3@@Z
@ stub -arch=i386 ?_Schedule(a)_StructuredTaskCollection@details(a)Concurrency@@QAEXPAV_UnrealizedChore(a)23@PAVlocation(a)3@@Z
@ stub -arch=win64 ?_Schedule(a)_StructuredTaskCollection@details(a)Concurrency@@QEAAXPEAV_UnrealizedChore(a)23@PEAVlocation(a)3@@Z
diff --git a/dlls/msvcr100/msvcr100.spec b/dlls/msvcr100/msvcr100.spec
index 19b4cbe96d75..2a03df03e33f 100644
--- a/dlls/msvcr100/msvcr100.spec
+++ b/dlls/msvcr100/msvcr100.spec
@@ -363,8 +363,8 @@
@ stub -arch=win64 ?_RunAndWait(a)_StructuredTaskCollection@details(a)Concurrency@@QEAA?AW4_TaskCollectionStatus(a)23@PEAV_UnrealizedChore(a)23@@Z
@ stub -arch=win32 ?_RunAndWait(a)_TaskCollection@details(a)Concurrency@@QAG?AW4_TaskCollectionStatus(a)23@PAV_UnrealizedChore(a)23@@Z
@ stub -arch=win64 ?_RunAndWait(a)_TaskCollection@details(a)Concurrency@@QEAA?AW4_TaskCollectionStatus(a)23@PEAV_UnrealizedChore(a)23@@Z
-@ stub -arch=win32 ?_Schedule(a)_StructuredTaskCollection@details(a)Concurrency@@QAEXPAV_UnrealizedChore(a)23@@Z
-@ stub -arch=win64 ?_Schedule(a)_StructuredTaskCollection@details(a)Concurrency@@QEAAXPEAV_UnrealizedChore(a)23@@Z
+@ thiscall -arch=win32 ?_Schedule(a)_StructuredTaskCollection@details(a)Concurrency@@QAEXPAV_UnrealizedChore(a)23@@Z(ptr ptr) StructuredTaskCollection__Schedule
+@ thiscall -arch=win64 ?_Schedule(a)_StructuredTaskCollection@details(a)Concurrency@@QEAAXPEAV_UnrealizedChore(a)23@@Z(ptr ptr) StructuredTaskCollection__Schedule
@ stub -arch=win32 ?_Schedule(a)_TaskCollection@details(a)Concurrency@@QAEXPAV_UnrealizedChore(a)23@@Z
@ stub -arch=win64 ?_Schedule(a)_TaskCollection@details(a)Concurrency@@QEAAXPEAV_UnrealizedChore(a)23@@Z
@ thiscall -arch=win32 ?_SetSpinCount@?$_SpinWait@$00(a)details@Concurrency@@QAEXI(a)Z(ptr long) SpinWait__SetSpinCount
diff --git a/dlls/msvcr110/msvcr110.spec b/dlls/msvcr110/msvcr110.spec
index 23840f85edac..2888bd97e000 100644
--- a/dlls/msvcr110/msvcr110.spec
+++ b/dlls/msvcr110/msvcr110.spec
@@ -614,9 +614,9 @@
@ stub -arch=arm ?_RunAndWait(a)_TaskCollection@details(a)Concurrency@@QAA?AW4_TaskCollectionStatus(a)23@PAV_UnrealizedChore(a)23@@Z
@ stub -arch=i386 ?_RunAndWait(a)_TaskCollection@details(a)Concurrency@@QAG?AW4_TaskCollectionStatus(a)23@PAV_UnrealizedChore(a)23@@Z
@ stub -arch=win64 ?_RunAndWait(a)_TaskCollection@details(a)Concurrency@@QEAA?AW4_TaskCollectionStatus(a)23@PEAV_UnrealizedChore(a)23@@Z
-@ stub -arch=arm ?_Schedule(a)_StructuredTaskCollection@details(a)Concurrency@@QAAXPAV_UnrealizedChore(a)23@@Z
-@ stub -arch=i386 ?_Schedule(a)_StructuredTaskCollection@details(a)Concurrency@@QAEXPAV_UnrealizedChore(a)23@@Z
-@ stub -arch=win64 ?_Schedule(a)_StructuredTaskCollection@details(a)Concurrency@@QEAAXPEAV_UnrealizedChore(a)23@@Z
+@ thiscall -arch=arm ?_Schedule(a)_StructuredTaskCollection@details(a)Concurrency@@QAAXPAV_UnrealizedChore(a)23@@Z(ptr ptr) StructuredTaskCollection__Schedule
+@ thiscall -arch=i386 ?_Schedule(a)_StructuredTaskCollection@details(a)Concurrency@@QAEXPAV_UnrealizedChore(a)23@@Z(ptr ptr) StructuredTaskCollection__Schedule
+@ thiscall -arch=win64 ?_Schedule(a)_StructuredTaskCollection@details(a)Concurrency@@QEAAXPEAV_UnrealizedChore(a)23@@Z(ptr ptr) StructuredTaskCollection__Schedule
@ stub -arch=arm ?_Schedule(a)_StructuredTaskCollection@details(a)Concurrency@@QAAXPAV_UnrealizedChore(a)23@PAVlocation(a)3@@Z
@ stub -arch=i386 ?_Schedule(a)_StructuredTaskCollection@details(a)Concurrency@@QAEXPAV_UnrealizedChore(a)23@PAVlocation(a)3@@Z
@ stub -arch=win64 ?_Schedule(a)_StructuredTaskCollection@details(a)Concurrency@@QEAAXPEAV_UnrealizedChore(a)23@PEAVlocation(a)3@@Z
diff --git a/dlls/msvcr120/msvcr120.spec b/dlls/msvcr120/msvcr120.spec
index 64ddeed42f41..8ddc09bcaf8c 100644
--- a/dlls/msvcr120/msvcr120.spec
+++ b/dlls/msvcr120/msvcr120.spec
@@ -596,9 +596,9 @@
@ stub -arch=arm ?_RunAndWait(a)_TaskCollection@details(a)Concurrency@@QAA?AW4_TaskCollectionStatus(a)23@PAV_UnrealizedChore(a)23@@Z
@ stub -arch=i386 ?_RunAndWait(a)_TaskCollection@details(a)Concurrency@@QAG?AW4_TaskCollectionStatus(a)23@PAV_UnrealizedChore(a)23@@Z
@ stub -arch=win64 ?_RunAndWait(a)_TaskCollection@details(a)Concurrency@@QEAA?AW4_TaskCollectionStatus(a)23@PEAV_UnrealizedChore(a)23@@Z
-@ stub -arch=arm ?_Schedule(a)_StructuredTaskCollection@details(a)Concurrency@@QAAXPAV_UnrealizedChore(a)23@@Z
-@ stub -arch=i386 ?_Schedule(a)_StructuredTaskCollection@details(a)Concurrency@@QAEXPAV_UnrealizedChore(a)23@@Z
-@ stub -arch=win64 ?_Schedule(a)_StructuredTaskCollection@details(a)Concurrency@@QEAAXPEAV_UnrealizedChore(a)23@@Z
+@ thiscall -arch=arm ?_Schedule(a)_StructuredTaskCollection@details(a)Concurrency@@QAAXPAV_UnrealizedChore(a)23@@Z(ptr ptr) StructuredTaskCollection__Schedule
+@ thiscall -arch=i386 ?_Schedule(a)_StructuredTaskCollection@details(a)Concurrency@@QAEXPAV_UnrealizedChore(a)23@@Z(ptr ptr) StructuredTaskCollection__Schedule
+@ thiscall -arch=win64 ?_Schedule(a)_StructuredTaskCollection@details(a)Concurrency@@QEAAXPEAV_UnrealizedChore(a)23@@Z(ptr ptr) StructuredTaskCollection__Schedule
@ stub -arch=arm ?_Schedule(a)_StructuredTaskCollection@details(a)Concurrency@@QAAXPAV_UnrealizedChore(a)23@PAVlocation(a)3@@Z
@ stub -arch=i386 ?_Schedule(a)_StructuredTaskCollection@details(a)Concurrency@@QAEXPAV_UnrealizedChore(a)23@PAVlocation(a)3@@Z
@ stub -arch=win64 ?_Schedule(a)_StructuredTaskCollection@details(a)Concurrency@@QEAAXPEAV_UnrealizedChore(a)23@PEAVlocation(a)3@@Z
diff --git a/dlls/msvcr120_app/msvcr120_app.spec b/dlls/msvcr120_app/msvcr120_app.spec
index 05f408d68847..4eb7cb6a2989 100644
--- a/dlls/msvcr120_app/msvcr120_app.spec
+++ b/dlls/msvcr120_app/msvcr120_app.spec
@@ -592,9 +592,9 @@
@ stub -arch=arm ?_RunAndWait(a)_TaskCollection@details(a)Concurrency@@QAA?AW4_TaskCollectionStatus(a)23@PAV_UnrealizedChore(a)23@@Z
@ stub -arch=i386 ?_RunAndWait(a)_TaskCollection@details(a)Concurrency@@QAG?AW4_TaskCollectionStatus(a)23@PAV_UnrealizedChore(a)23@@Z
@ stub -arch=win64 ?_RunAndWait(a)_TaskCollection@details(a)Concurrency@@QEAA?AW4_TaskCollectionStatus(a)23@PEAV_UnrealizedChore(a)23@@Z
-@ stub -arch=arm ?_Schedule(a)_StructuredTaskCollection@details(a)Concurrency@@QAAXPAV_UnrealizedChore(a)23@@Z
-@ stub -arch=i386 ?_Schedule(a)_StructuredTaskCollection@details(a)Concurrency@@QAEXPAV_UnrealizedChore(a)23@@Z
-@ stub -arch=win64 ?_Schedule(a)_StructuredTaskCollection@details(a)Concurrency@@QEAAXPEAV_UnrealizedChore(a)23@@Z
+@ thiscall -arch=arm ?_Schedule(a)_StructuredTaskCollection@details(a)Concurrency@@QAAXPAV_UnrealizedChore(a)23@@Z(ptr ptr) msvcr120.?_Schedule(a)_StructuredTaskCollection@details(a)Concurrency@@QAAXPAV_UnrealizedChore(a)23@@Z
+@ thiscall -arch=i386 ?_Schedule(a)_StructuredTaskCollection@details(a)Concurrency@@QAEXPAV_UnrealizedChore(a)23@@Z(ptr ptr) msvcr120.?_Schedule(a)_StructuredTaskCollection@details(a)Concurrency@@QAEXPAV_UnrealizedChore(a)23@@Z
+@ thiscall -arch=win64 ?_Schedule(a)_StructuredTaskCollection@details(a)Concurrency@@QEAAXPEAV_UnrealizedChore(a)23@@Z(ptr ptr) msvcr120.?_Schedule(a)_StructuredTaskCollection@details(a)Concurrency@@QEAAXPEAV_UnrealizedChore(a)23@@Z
@ stub -arch=arm ?_Schedule(a)_StructuredTaskCollection@details(a)Concurrency@@QAAXPAV_UnrealizedChore(a)23@PAVlocation(a)3@@Z
@ stub -arch=i386 ?_Schedule(a)_StructuredTaskCollection@details(a)Concurrency@@QAEXPAV_UnrealizedChore(a)23@PAVlocation(a)3@@Z
@ stub -arch=win64 ?_Schedule(a)_StructuredTaskCollection@details(a)Concurrency@@QEAAXPEAV_UnrealizedChore(a)23@PEAVlocation(a)3@@Z
diff --git a/dlls/msvcrt/concurrency.c b/dlls/msvcrt/concurrency.c
index 2ca6421b0e74..db6e34ad457d 100644
--- a/dlls/msvcrt/concurrency.c
+++ b/dlls/msvcrt/concurrency.c
@@ -174,6 +174,20 @@ typedef struct cs_queue
#endif
} cs_queue;
+#if _MSVCR_VER >= 100
+
+typedef struct
+{
+ char dummy;
+} UnrealizedChore;
+
+typedef struct
+{
+ char dummy;
+} StructuredTaskCollection;
+
+#endif /* _MSVCR_VER >= 100 */
+
typedef struct
{
ULONG_PTR unk_thread_id;
@@ -1741,6 +1755,19 @@ bool __thiscall SpinWait__SpinOnce(SpinWait *this)
}
}
+#if _MSVCR_VER >= 100
+
+/* ?_Schedule(a)_StructuredTaskCollection@details(a)Concurrency@@QAAXPAV_UnrealizedChore(a)23@@Z */
+/* ?_Schedule(a)_StructuredTaskCollection@details(a)Concurrency@@QAEXPAV_UnrealizedChore(a)23@@Z */
+/* ?_Schedule(a)_StructuredTaskCollection@details(a)Concurrency@@QEAAXPEAV_UnrealizedChore(a)23@@Z */
+DEFINE_THISCALL_WRAPPER(StructuredTaskCollection__Schedule, 8)
+void __thiscall StructuredTaskCollection__Schedule(StructuredTaskCollection *this, UnrealizedChore *chore)
+{
+ FIXME("(%p %p): stub!\n", this, chore);
+}
+
+#endif /* _MSVCR_VER >= 100 */
+
/* ??0critical_section(a)Concurrency@@QAE(a)XZ */
/* ??0critical_section(a)Concurrency@@QEAA(a)XZ */
DEFINE_THISCALL_WRAPPER(critical_section_ctor, 4)
--
2.36.0
2
9
[PATCH] msvcr110: Add _StructuredTaskCollection::_StructuredTaskCollection_ctor stub.
by Piotr Caban April 25, 2022
by Piotr Caban April 25, 2022
April 25, 2022
From: Torge Matthies <tmatthies(a)codeweavers.com>
Signed-off-by: Piotr Caban <piotr(a)codeweavers.com>
---
dlls/concrt140/concrt140.spec | 6 +++---
dlls/msvcr110/msvcr110.spec | 6 +++---
dlls/msvcr120/msvcr120.spec | 6 +++---
dlls/msvcr120_app/msvcr120_app.spec | 6 +++---
dlls/msvcrt/concurrency.c | 19 +++++++++++++++++++
5 files changed, 31 insertions(+), 12 deletions(-)
1
0
April 25, 2022
From: Eric Pouech <eric.pouech(a)gmail.com>
Signed-off-by: Henri Verbeet <hverbeet(a)codeweavers.com>
---
dlls/d3d11/Makefile.in | 1 -
dlls/d3d11/async.c | 12 +++----
dlls/d3d11/buffer.c | 8 ++---
dlls/d3d11/d3d11_main.c | 28 +++++++--------
dlls/d3d11/device.c | 76 ++++++++++++++++++++--------------------
dlls/d3d11/inputlayout.c | 10 +++---
dlls/d3d11/shader.c | 46 ++++++++++++------------
dlls/d3d11/state.c | 28 +++++++--------
dlls/d3d11/texture.c | 24 ++++++-------
dlls/d3d11/view.c | 32 ++++++++---------
10 files changed, 132 insertions(+), 133 deletions(-)
diff --git a/dlls/d3d11/Makefile.in b/dlls/d3d11/Makefile.in
index 9e0da6dd07c..5a56faec523 100644
--- a/dlls/d3d11/Makefile.in
+++ b/dlls/d3d11/Makefile.in
@@ -1,4 +1,3 @@
-EXTRADEFS = -DWINE_NO_LONG_TYPES
MODULE = d3d11.dll
IMPORTLIB = d3d11
IMPORTS = dxguid uuid dxgi wined3d
diff --git a/dlls/d3d11/async.c b/dlls/d3d11/async.c
index 3054c0fca0a..32c959d5b12 100644
--- a/dlls/d3d11/async.c
+++ b/dlls/d3d11/async.c
@@ -67,7 +67,7 @@ static ULONG STDMETHODCALLTYPE d3d11_query_AddRef(ID3D11Query *iface)
struct d3d_query *query = impl_from_ID3D11Query(iface);
ULONG refcount = InterlockedIncrement(&query->refcount);
- TRACE("%p increasing refcount to %u.\n", query, refcount);
+ TRACE("%p increasing refcount to %lu.\n", query, refcount);
if (refcount == 1)
{
@@ -83,7 +83,7 @@ static ULONG STDMETHODCALLTYPE d3d11_query_Release(ID3D11Query *iface)
struct d3d_query *query = impl_from_ID3D11Query(iface);
ULONG refcount = InterlockedDecrement(&query->refcount);
- TRACE("%p decreasing refcount to %u.\n", query, refcount);
+ TRACE("%p decreasing refcount to %lu.\n", query, refcount);
if (!refcount)
{
@@ -290,7 +290,7 @@ static void STDMETHODCALLTYPE d3d10_query_Begin(ID3D10Query *iface)
TRACE("iface %p.\n", iface);
if (FAILED(hr = wined3d_query_issue(query->wined3d_query, WINED3DISSUE_BEGIN)))
- ERR("Failed to issue query, hr %#x.\n", hr);
+ ERR("Failed to issue query, hr %#lx.\n", hr);
}
static void STDMETHODCALLTYPE d3d10_query_End(ID3D10Query *iface)
@@ -301,7 +301,7 @@ static void STDMETHODCALLTYPE d3d10_query_End(ID3D10Query *iface)
TRACE("iface %p.\n", iface);
if (FAILED(hr = wined3d_query_issue(query->wined3d_query, WINED3DISSUE_END)))
- ERR("Failed to issue query, hr %#x.\n", hr);
+ ERR("Failed to issue query, hr %#lx.\n", hr);
}
static HRESULT STDMETHODCALLTYPE d3d10_query_GetData(ID3D10Query *iface, void *data, UINT data_size, UINT flags)
@@ -449,7 +449,7 @@ static HRESULT d3d_query_init(struct d3d_query *query, struct d3d_device *device
if (FAILED(hr = wined3d_query_create(device->wined3d_device, query_type_map[desc->Query],
query, &d3d_query_wined3d_parent_ops, &query->wined3d_query)))
{
- WARN("Failed to create wined3d query, hr %#x.\n", hr);
+ WARN("Failed to create wined3d query, hr %#lx.\n", hr);
wined3d_private_store_cleanup(&query->private_store);
wined3d_mutex_unlock();
return hr;
@@ -493,7 +493,7 @@ HRESULT d3d_query_create(struct d3d_device *device, const D3D11_QUERY_DESC *desc
if (FAILED(hr = d3d_query_init(object, device, desc, predicate)))
{
- WARN("Failed to initialize predicate, hr %#x.\n", hr);
+ WARN("Failed to initialise predicate, hr %#lx.\n", hr);
heap_free(object);
return hr;
}
diff --git a/dlls/d3d11/buffer.c b/dlls/d3d11/buffer.c
index 5a6ca81dff4..352559322d7 100644
--- a/dlls/d3d11/buffer.c
+++ b/dlls/d3d11/buffer.c
@@ -64,7 +64,7 @@ static ULONG STDMETHODCALLTYPE d3d11_buffer_AddRef(ID3D11Buffer *iface)
struct d3d_buffer *buffer = impl_from_ID3D11Buffer(iface);
ULONG refcount = InterlockedIncrement(&buffer->refcount);
- TRACE("%p increasing refcount to %u.\n", buffer, refcount);
+ TRACE("%p increasing refcount to %lu.\n", buffer, refcount);
if (refcount == 1)
{
@@ -80,7 +80,7 @@ static ULONG STDMETHODCALLTYPE d3d11_buffer_Release(ID3D11Buffer *iface)
struct d3d_buffer *buffer = impl_from_ID3D11Buffer(iface);
ULONG refcount = InterlockedDecrement(&buffer->refcount);
- TRACE("%p decreasing refcount to %u.\n", buffer, refcount);
+ TRACE("%p decreasing refcount to %lu.\n", buffer, refcount);
if (!refcount)
{
@@ -452,7 +452,7 @@ static HRESULT d3d_buffer_init(struct d3d_buffer *buffer, struct d3d_device *dev
(const struct wined3d_sub_resource_data *)data, buffer,
&d3d_buffer_wined3d_parent_ops, &buffer->wined3d_buffer)))
{
- WARN("Failed to create wined3d buffer, hr %#x.\n", hr);
+ WARN("Failed to create wined3d buffer, hr %#lx.\n", hr);
wined3d_private_store_cleanup(&buffer->private_store);
wined3d_mutex_unlock();
return hr;
@@ -475,7 +475,7 @@ HRESULT d3d_buffer_create(struct d3d_device *device, const D3D11_BUFFER_DESC *de
if (FAILED(hr = d3d_buffer_init(object, device, desc, data)))
{
- WARN("Failed to initialize buffer, hr %#x.\n", hr);
+ WARN("Failed to initialise buffer, hr %#lx.\n", hr);
heap_free(object);
return hr;
}
diff --git a/dlls/d3d11/d3d11_main.c b/dlls/d3d11/d3d11_main.c
index dac59d09999..0dd83d53da1 100644
--- a/dlls/d3d11/d3d11_main.c
+++ b/dlls/d3d11/d3d11_main.c
@@ -57,7 +57,7 @@ static HRESULT WINAPI layer_init(enum dxgi_device_layer_id id, DWORD *count, DWO
static UINT WINAPI layer_get_size(enum dxgi_device_layer_id id, struct layer_get_size_args *args, DWORD unknown0)
{
- TRACE("id %#x, args %p, unknown0 %#x\n", id, args, unknown0);
+ TRACE("id %#x, args %p, unknown0 %#lx.\n", id, args, unknown0);
if (id != DXGI_DEVICE_LAYER_D3D10_DEVICE)
{
@@ -73,7 +73,7 @@ static HRESULT WINAPI layer_create(enum dxgi_device_layer_id id, void **layer_ba
{
struct d3d_device *object;
- TRACE("id %#x, layer_base %p, unknown0 %#x, device_object %p, riid %s, device_layer %p\n",
+ TRACE("id %#x, layer_base %p, unknown0 %#lx, device_object %p, riid %s, device_layer %p.\n",
id, layer_base, unknown0, device_object, debugstr_guid(riid), device_layer);
if (id != DXGI_DEVICE_LAYER_D3D10_DEVICE)
@@ -119,7 +119,7 @@ HRESULT WINAPI D3D11CoreCreateDevice(IDXGIFactory *factory, IDXGIAdapter *adapte
hr = DXGID3D10CreateDevice(d3d11, factory, adapter, flags, feature_levels, levels, (void **)&dxgi_device);
if (FAILED(hr))
{
- WARN("Failed to create device, returning %#x.\n", hr);
+ WARN("Failed to create device, returning %#lx.\n", hr);
return hr;
}
@@ -176,7 +176,7 @@ static HRESULT d3d11_create_device(IDXGIAdapter *adapter, D3D_DRIVER_TYPE driver
hr = IDXGIAdapter_GetParent(adapter, &IID_IDXGIFactory, (void **)&factory);
if (FAILED(hr))
{
- WARN("Failed to get dxgi factory, returning %#x.\n", hr);
+ WARN("Failed to get dxgi factory, returning %#lx.\n", hr);
return hr;
}
}
@@ -185,7 +185,7 @@ static HRESULT d3d11_create_device(IDXGIAdapter *adapter, D3D_DRIVER_TYPE driver
hr = CreateDXGIFactory1(&IID_IDXGIFactory, (void **)&factory);
if (FAILED(hr))
{
- WARN("Failed to create dxgi factory, returning %#x.\n", hr);
+ WARN("Failed to create dxgi factory, returning %#lx.\n", hr);
return hr;
}
@@ -198,7 +198,7 @@ static HRESULT d3d11_create_device(IDXGIAdapter *adapter, D3D_DRIVER_TYPE driver
hr = IDXGIFactory_EnumAdapters(factory, 0, &adapter);
if (FAILED(hr))
{
- WARN("No adapters found, returning %#x.\n", hr);
+ WARN("No adapters found, returning %#lx.\n", hr);
IDXGIFactory_Release(factory);
return hr;
}
@@ -221,7 +221,7 @@ static HRESULT d3d11_create_device(IDXGIAdapter *adapter, D3D_DRIVER_TYPE driver
FreeLibrary(refrast);
if (FAILED(hr))
{
- WARN("Failed to create a software adapter, returning %#x.\n", hr);
+ WARN("Failed to create a software adapter, returning %#lx.\n", hr);
IDXGIFactory_Release(factory);
return hr;
}
@@ -239,7 +239,7 @@ static HRESULT d3d11_create_device(IDXGIAdapter *adapter, D3D_DRIVER_TYPE driver
hr = IDXGIFactory_CreateSoftwareAdapter(factory, swrast, &adapter);
if (FAILED(hr))
{
- WARN("Failed to create a software adapter, returning %#x.\n", hr);
+ WARN("Failed to create a software adapter, returning %#lx.\n", hr);
IDXGIFactory_Release(factory);
return hr;
}
@@ -263,7 +263,7 @@ static HRESULT d3d11_create_device(IDXGIAdapter *adapter, D3D_DRIVER_TYPE driver
IDXGIFactory_Release(factory);
if (FAILED(hr))
{
- WARN("Failed to create a device, returning %#x.\n", hr);
+ WARN("Failed to create a device, returning %#lx.\n", hr);
return hr;
}
@@ -317,7 +317,7 @@ HRESULT WINAPI D3D11CreateDeviceAndSwapChain(IDXGIAdapter *adapter, D3D_DRIVER_T
if (FAILED(hr = d3d11_create_device(adapter, driver_type, swrast, flags, feature_levels,
levels, sdk_version, &device, obtained_feature_level, immediate_context)))
{
- WARN("Failed to create a device, returning %#x.\n", hr);
+ WARN("Failed to create a device, returning %#lx.\n", hr);
return hr;
}
@@ -325,7 +325,7 @@ HRESULT WINAPI D3D11CreateDeviceAndSwapChain(IDXGIAdapter *adapter, D3D_DRIVER_T
{
if (FAILED(hr = ID3D11Device_QueryInterface(device, &IID_IDXGIDevice, (void **)&dxgi_device)))
{
- ERR("Failed to get a dxgi device from the d3d11 device, returning %#x.\n", hr);
+ ERR("Failed to get a dxgi device from the d3d11 device, returning %#lx.\n", hr);
goto cleanup;
}
@@ -333,7 +333,7 @@ HRESULT WINAPI D3D11CreateDeviceAndSwapChain(IDXGIAdapter *adapter, D3D_DRIVER_T
IDXGIDevice_Release(dxgi_device);
if (FAILED(hr))
{
- ERR("Failed to get the device adapter, returning %#x.\n", hr);
+ ERR("Failed to get the device adapter, returning %#lx.\n", hr);
goto cleanup;
}
@@ -341,7 +341,7 @@ HRESULT WINAPI D3D11CreateDeviceAndSwapChain(IDXGIAdapter *adapter, D3D_DRIVER_T
IDXGIAdapter_Release(adapter);
if (FAILED(hr))
{
- ERR("Failed to get the adapter factory, returning %#x.\n", hr);
+ ERR("Failed to get the adapter factory, returning %#lx.\n", hr);
goto cleanup;
}
@@ -350,7 +350,7 @@ HRESULT WINAPI D3D11CreateDeviceAndSwapChain(IDXGIAdapter *adapter, D3D_DRIVER_T
IDXGIFactory_Release(factory);
if (FAILED(hr))
{
- WARN("Failed to create a swapchain, returning %#x.\n", hr);
+ WARN("Failed to create a swapchain, returning %#lx.\n", hr);
goto cleanup;
}
diff --git a/dlls/d3d11/device.c b/dlls/d3d11/device.c
index e73d6726f5d..ecf45e9ce33 100644
--- a/dlls/d3d11/device.c
+++ b/dlls/d3d11/device.c
@@ -99,7 +99,7 @@ static ULONG d3d_device_context_state_private_addref(struct d3d_device_context_s
{
ULONG refcount = InterlockedIncrement(&state->private_refcount);
- TRACE("%p increasing private refcount to %u.\n", state, refcount);
+ TRACE("%p increasing private refcount to %lu.\n", state, refcount);
return refcount;
}
@@ -109,7 +109,7 @@ static ULONG STDMETHODCALLTYPE d3d_device_context_state_AddRef(ID3DDeviceContext
struct d3d_device_context_state *state = impl_from_ID3DDeviceContextState(iface);
ULONG refcount = InterlockedIncrement(&state->refcount);
- TRACE("%p increasing refcount to %u.\n", state, refcount);
+ TRACE("%p increasing refcount to %lu.\n", state, refcount);
if (refcount == 1)
{
@@ -143,7 +143,7 @@ static void d3d_device_context_state_private_release(struct d3d_device_context_s
struct d3d_device *device;
unsigned int i;
- TRACE("%p decreasing private refcount to %u.\n", state, refcount);
+ TRACE("%p decreasing private refcount to %lu.\n", state, refcount);
if (!refcount)
{
@@ -169,7 +169,7 @@ static ULONG STDMETHODCALLTYPE d3d_device_context_state_Release(ID3DDeviceContex
struct d3d_device_context_state *state = impl_from_ID3DDeviceContextState(iface);
ULONG refcount = InterlockedDecrement(&state->refcount);
- TRACE("%p decreasing refcount to %u.\n", state, refcount);
+ TRACE("%p decreasing refcount to %lu.\n", state, refcount);
if (!refcount)
{
@@ -361,7 +361,7 @@ static ULONG STDMETHODCALLTYPE d3d11_command_list_AddRef(ID3D11CommandList *ifac
struct d3d11_command_list *list = impl_from_ID3D11CommandList(iface);
ULONG refcount = InterlockedIncrement(&list->refcount);
- TRACE("%p increasing refcount to %u.\n", list, refcount);
+ TRACE("%p increasing refcount to %lu.\n", list, refcount);
return refcount;
}
@@ -371,7 +371,7 @@ static ULONG STDMETHODCALLTYPE d3d11_command_list_Release(ID3D11CommandList *ifa
struct d3d11_command_list *list = impl_from_ID3D11CommandList(iface);
ULONG refcount = InterlockedDecrement(&list->refcount);
- TRACE("%p decreasing refcount to %u.\n", list, refcount);
+ TRACE("%p decreasing refcount to %lu.\n", list, refcount);
if (!refcount)
{
@@ -504,7 +504,7 @@ static ULONG STDMETHODCALLTYPE d3d11_device_context_AddRef(ID3D11DeviceContext1
struct d3d11_device_context *context = impl_from_ID3D11DeviceContext1(iface);
ULONG refcount = InterlockedIncrement(&context->refcount);
- TRACE("%p increasing refcount to %u.\n", context, refcount);
+ TRACE("%p increasing refcount to %lu.\n", context, refcount);
if (refcount == 1)
{
@@ -519,7 +519,7 @@ static ULONG STDMETHODCALLTYPE d3d11_device_context_Release(ID3D11DeviceContext1
struct d3d11_device_context *context = impl_from_ID3D11DeviceContext1(iface);
ULONG refcount = InterlockedDecrement(&context->refcount);
- TRACE("%p decreasing refcount to %u.\n", context, refcount);
+ TRACE("%p decreasing refcount to %lu.\n", context, refcount);
if (!refcount)
{
@@ -1416,7 +1416,7 @@ static void STDMETHODCALLTYPE d3d11_device_context_ClearRenderTargetView(ID3D11D
if (FAILED(hr = wined3d_device_context_clear_rendertarget_view(context->wined3d_context, view->wined3d_view, NULL,
WINED3DCLEAR_TARGET, &color, 0.0f, 0)))
- ERR("Failed to clear view, hr %#x.\n", hr);
+ ERR("Failed to clear view, hr %#lx.\n", hr);
}
static void STDMETHODCALLTYPE d3d11_device_context_ClearUnorderedAccessViewUint(ID3D11DeviceContext1 *iface,
@@ -1465,7 +1465,7 @@ static void STDMETHODCALLTYPE d3d11_device_context_ClearDepthStencilView(ID3D11D
if (FAILED(hr = wined3d_device_context_clear_rendertarget_view(context->wined3d_context, view->wined3d_view, NULL,
wined3d_flags, NULL, depth, stencil)))
- ERR("Failed to clear view, hr %#x.\n", hr);
+ ERR("Failed to clear view, hr %#lx.\n", hr);
}
static void STDMETHODCALLTYPE d3d11_device_context_GenerateMips(ID3D11DeviceContext1 *iface,
@@ -2706,7 +2706,7 @@ static HRESULT STDMETHODCALLTYPE d3d11_device_context_FinishCommandList(ID3D11De
if (FAILED(hr = wined3d_deferred_context_record_command_list(context->wined3d_context,
!!restore, &object->wined3d_list)))
{
- WARN("Failed to record wined3d command list, hr %#x.\n", hr);
+ WARN("Failed to record wined3d command list, hr %#lx.\n", hr);
heap_free(object);
return hr;
}
@@ -3446,7 +3446,7 @@ static HRESULT STDMETHODCALLTYPE d3d11_device_CreateInputLayout(ID3D11Device2 *i
struct d3d_input_layout *object;
HRESULT hr;
- TRACE("iface %p, element_descs %p, element_count %u, shader_byte_code %p, shader_byte_code_length %lu, "
+ TRACE("iface %p, element_descs %p, element_count %u, shader_byte_code %p, shader_byte_code_length %Iu, "
"input_layout %p.\n", iface, element_descs, element_count, shader_byte_code,
shader_byte_code_length, input_layout);
@@ -3466,7 +3466,7 @@ static HRESULT STDMETHODCALLTYPE d3d11_device_CreateVertexShader(ID3D11Device2 *
struct d3d_vertex_shader *object;
HRESULT hr;
- TRACE("iface %p, byte_code %p, byte_code_length %lu, class_linkage %p, shader %p.\n",
+ TRACE("iface %p, byte_code %p, byte_code_length %Iu, class_linkage %p, shader %p.\n",
iface, byte_code, byte_code_length, class_linkage, shader);
if (class_linkage)
@@ -3487,7 +3487,7 @@ static HRESULT STDMETHODCALLTYPE d3d11_device_CreateGeometryShader(ID3D11Device2
struct d3d_geometry_shader *object;
HRESULT hr;
- TRACE("iface %p, byte_code %p, byte_code_length %lu, class_linkage %p, shader %p.\n",
+ TRACE("iface %p, byte_code %p, byte_code_length %Iu, class_linkage %p, shader %p.\n",
iface, byte_code, byte_code_length, class_linkage, shader);
if (class_linkage)
@@ -3511,7 +3511,7 @@ static HRESULT STDMETHODCALLTYPE d3d11_device_CreateGeometryShaderWithStreamOutp
struct d3d_geometry_shader *object;
HRESULT hr;
- TRACE("iface %p, byte_code %p, byte_code_length %lu, so_entries %p, entry_count %u, "
+ TRACE("iface %p, byte_code %p, byte_code_length %Iu, so_entries %p, entry_count %u, "
"buffer_strides %p, strides_count %u, rasterizer_stream %u, class_linkage %p, shader %p.\n",
iface, byte_code, byte_code_length, so_entries, entry_count, buffer_strides, strides_count,
rasterizer_stream, class_linkage, shader);
@@ -3538,7 +3538,7 @@ static HRESULT STDMETHODCALLTYPE d3d11_device_CreatePixelShader(ID3D11Device2 *i
struct d3d_pixel_shader *object;
HRESULT hr;
- TRACE("iface %p, byte_code %p, byte_code_length %lu, class_linkage %p, shader %p.\n",
+ TRACE("iface %p, byte_code %p, byte_code_length %Iu, class_linkage %p, shader %p.\n",
iface, byte_code, byte_code_length, class_linkage, shader);
if (class_linkage)
@@ -3559,7 +3559,7 @@ static HRESULT STDMETHODCALLTYPE d3d11_device_CreateHullShader(ID3D11Device2 *if
struct d3d11_hull_shader *object;
HRESULT hr;
- TRACE("iface %p, byte_code %p, byte_code_length %lu, class_linkage %p, shader %p.\n",
+ TRACE("iface %p, byte_code %p, byte_code_length %Iu, class_linkage %p, shader %p.\n",
iface, byte_code, byte_code_length, class_linkage, shader);
if (class_linkage)
@@ -3580,7 +3580,7 @@ static HRESULT STDMETHODCALLTYPE d3d11_device_CreateDomainShader(ID3D11Device2 *
struct d3d11_domain_shader *object;
HRESULT hr;
- TRACE("iface %p, byte_code %p, byte_code_length %lu, class_linkage %p, shader %p.\n",
+ TRACE("iface %p, byte_code %p, byte_code_length %Iu, class_linkage %p, shader %p.\n",
iface, byte_code, byte_code_length, class_linkage, shader);
if (class_linkage)
@@ -3601,7 +3601,7 @@ static HRESULT STDMETHODCALLTYPE d3d11_device_CreateComputeShader(ID3D11Device2
struct d3d11_compute_shader *object;
HRESULT hr;
- TRACE("iface %p, byte_code %p, byte_code_length %lu, class_linkage %p, shader %p.\n",
+ TRACE("iface %p, byte_code %p, byte_code_length %Iu, class_linkage %p, shader %p.\n",
iface, byte_code, byte_code_length, class_linkage, shader);
if (class_linkage)
@@ -3774,7 +3774,7 @@ static HRESULT d3d11_deferred_context_create(struct d3d_device *device,
if (FAILED(hr = wined3d_deferred_context_create(device->wined3d_device, &object->wined3d_context)))
{
- WARN("Failed to create wined3d deferred context, hr %#x.\n", hr);
+ WARN("Failed to create wined3d deferred context, hr %#lx.\n", hr);
heap_free(object);
return hr;
}
@@ -3869,7 +3869,7 @@ static HRESULT STDMETHODCALLTYPE d3d11_device_CheckFormatSupport(ID3D11Device2 *
continue;
if (hr != WINED3D_OK)
{
- WARN("Failed to check device format support, hr %#x.\n", hr);
+ WARN("Failed to check device format support, hr %#lx.\n", hr);
wined3d_mutex_unlock();
return E_FAIL;
}
@@ -4018,7 +4018,7 @@ static HRESULT STDMETHODCALLTYPE d3d11_device_CheckFeatureSupport(ID3D11Device2
wined3d_mutex_unlock();
if (FAILED(hr))
{
- WARN("Failed to get device caps, hr %#x.\n", hr);
+ WARN("Failed to get device caps, hr %#lx.\n", hr);
return hr;
}
@@ -4040,7 +4040,7 @@ static HRESULT STDMETHODCALLTYPE d3d11_device_CheckFeatureSupport(ID3D11Device2
wined3d_mutex_unlock();
if (FAILED(hr))
{
- WARN("Failed to get device caps, hr %#x.\n", hr);
+ WARN("Failed to get device caps, hr %#lx.\n", hr);
return hr;
}
@@ -4062,7 +4062,7 @@ static HRESULT STDMETHODCALLTYPE d3d11_device_CheckFeatureSupport(ID3D11Device2
wined3d_mutex_unlock();
if (FAILED(hr))
{
- WARN("Failed to get device caps, hr %#x.\n", hr);
+ WARN("Failed to get device caps, hr %#lx.\n", hr);
return hr;
}
@@ -4129,7 +4129,7 @@ static HRESULT STDMETHODCALLTYPE d3d11_device_CheckFeatureSupport(ID3D11Device2
wined3d_mutex_unlock();
if (FAILED(hr))
{
- WARN("Failed to get device caps, hr %#x.\n", hr);
+ WARN("Failed to get device caps, hr %#lx.\n", hr);
return hr;
}
@@ -4389,7 +4389,7 @@ static HRESULT STDMETHODCALLTYPE d3d11_device_OpenSharedResource1(ID3D11Device2
static HRESULT STDMETHODCALLTYPE d3d11_device_OpenSharedResourceByName(ID3D11Device2 *iface, const WCHAR *name,
DWORD access, REFIID iid, void **resource)
{
- FIXME("iface %p, name %s, access %#x, iid %s, resource %p stub!\n", iface, debugstr_w(name), access,
+ FIXME("iface %p, name %s, access %#lx, iid %s, resource %p stub!\n", iface, debugstr_w(name), access,
debugstr_guid(iid), resource);
return E_NOTIMPL;
@@ -4541,7 +4541,7 @@ static ULONG STDMETHODCALLTYPE d3d_device_inner_AddRef(IUnknown *iface)
struct d3d_device *device = impl_from_IUnknown(iface);
ULONG refcount = InterlockedIncrement(&device->refcount);
- TRACE("%p increasing refcount to %u.\n", device, refcount);
+ TRACE("%p increasing refcount to %lu.\n", device, refcount);
return refcount;
}
@@ -4552,7 +4552,7 @@ static ULONG STDMETHODCALLTYPE d3d_device_inner_Release(IUnknown *iface)
ULONG refcount = InterlockedDecrement(&device->refcount);
unsigned int i;
- TRACE("%p decreasing refcount to %u.\n", device, refcount);
+ TRACE("%p decreasing refcount to %lu.\n", device, refcount);
if (!refcount)
{
@@ -5159,7 +5159,7 @@ static void STDMETHODCALLTYPE d3d10_device_ClearRenderTargetView(ID3D10Device1 *
if (FAILED(hr = wined3d_device_context_clear_rendertarget_view(device->immediate_context.wined3d_context,
view->wined3d_view, NULL, WINED3DCLEAR_TARGET, &color, 0.0f, 0)))
- ERR("Failed to clear view, hr %#x.\n", hr);
+ ERR("Failed to clear view, hr %#lx.\n", hr);
}
static void STDMETHODCALLTYPE d3d10_device_ClearDepthStencilView(ID3D10Device1 *iface,
@@ -5180,7 +5180,7 @@ static void STDMETHODCALLTYPE d3d10_device_ClearDepthStencilView(ID3D10Device1 *
if (FAILED(hr = wined3d_device_context_clear_rendertarget_view(device->immediate_context.wined3d_context,
view->wined3d_view, NULL, wined3d_flags, NULL, depth, stencil)))
- ERR("Failed to clear view, hr %#x.\n", hr);
+ ERR("Failed to clear view, hr %#lx.\n", hr);
}
static void STDMETHODCALLTYPE d3d10_device_GenerateMips(ID3D10Device1 *iface,
@@ -6129,7 +6129,7 @@ static HRESULT STDMETHODCALLTYPE d3d10_device_CreateInputLayout(ID3D10Device1 *i
HRESULT hr;
TRACE("iface %p, element_descs %p, element_count %u, shader_byte_code %p, "
- "shader_byte_code_length %lu, input_layout %p\n",
+ "shader_byte_code_length %Iu, input_layout %p.\n",
iface, element_descs, element_count, shader_byte_code,
shader_byte_code_length, input_layout);
@@ -6149,7 +6149,7 @@ static HRESULT STDMETHODCALLTYPE d3d10_device_CreateVertexShader(ID3D10Device1 *
struct d3d_vertex_shader *object;
HRESULT hr;
- TRACE("iface %p, byte_code %p, byte_code_length %lu, shader %p.\n",
+ TRACE("iface %p, byte_code %p, byte_code_length %Iu, shader %p.\n",
iface, byte_code, byte_code_length, shader);
if (FAILED(hr = d3d_vertex_shader_create(device, byte_code, byte_code_length, &object)))
@@ -6167,7 +6167,7 @@ static HRESULT STDMETHODCALLTYPE d3d10_device_CreateGeometryShader(ID3D10Device1
struct d3d_geometry_shader *object;
HRESULT hr;
- TRACE("iface %p, byte_code %p, byte_code_length %lu, shader %p.\n",
+ TRACE("iface %p, byte_code %p, byte_code_length %Iu, shader %p.\n",
iface, byte_code, byte_code_length, shader);
if (FAILED(hr = d3d_geometry_shader_create(device, byte_code, byte_code_length,
@@ -6189,7 +6189,7 @@ static HRESULT STDMETHODCALLTYPE d3d10_device_CreateGeometryShaderWithStreamOutp
unsigned int i, stride_count = 1;
HRESULT hr;
- TRACE("iface %p, byte_code %p, byte_code_length %lu, output_stream_decls %p, "
+ TRACE("iface %p, byte_code %p, byte_code_length %Iu, output_stream_decls %p, "
"output_stream_decl_count %u, output_stream_stride %u, shader %p.\n",
iface, byte_code, byte_code_length, output_stream_decls,
output_stream_decl_count, output_stream_stride, shader);
@@ -6252,7 +6252,7 @@ static HRESULT STDMETHODCALLTYPE d3d10_device_CreatePixelShader(ID3D10Device1 *i
struct d3d_pixel_shader *object;
HRESULT hr;
- TRACE("iface %p, byte_code %p, byte_code_length %lu, shader %p.\n",
+ TRACE("iface %p, byte_code %p, byte_code_length %Iu, shader %p.\n",
iface, byte_code, byte_code_length, shader);
if (FAILED(hr = d3d_pixel_shader_create(device, byte_code, byte_code_length, &object)))
@@ -6808,7 +6808,7 @@ static HRESULT CDECL device_parent_create_swapchain_texture(struct wined3d_devic
D3D11_TEXTURE2D_DESC desc;
HRESULT hr;
- TRACE("device_parent %p, container_parent %p, wined3d_desc %p, texture_flags %#x, wined3d_texture %p.\n",
+ TRACE("device_parent %p, container_parent %p, wined3d_desc %p, texture_flags %#lx, wined3d_texture %p.\n",
device_parent, container_parent, wined3d_desc, texture_flags, wined3d_texture);
desc.Width = wined3d_desc->width;
@@ -6830,12 +6830,12 @@ static HRESULT CDECL device_parent_create_swapchain_texture(struct wined3d_devic
}
if (texture_flags)
- FIXME("Unhandled flags %#x.\n", texture_flags);
+ FIXME("Unhandled flags %#lx.\n", texture_flags);
if (FAILED(hr = d3d11_device_CreateTexture2D(&device->ID3D11Device2_iface,
&desc, NULL, &texture_iface)))
{
- WARN("Failed to create 2D texture, hr %#x.\n", hr);
+ WARN("Failed to create 2D texture, hr %#lx.\n", hr);
return hr;
}
diff --git a/dlls/d3d11/inputlayout.c b/dlls/d3d11/inputlayout.c
index 520fa0ba7b3..0fae0f2d3f9 100644
--- a/dlls/d3d11/inputlayout.c
+++ b/dlls/d3d11/inputlayout.c
@@ -133,7 +133,7 @@ static ULONG STDMETHODCALLTYPE d3d11_input_layout_AddRef(ID3D11InputLayout *ifac
struct d3d_input_layout *layout = impl_from_ID3D11InputLayout(iface);
ULONG refcount = InterlockedIncrement(&layout->refcount);
- TRACE("%p increasing refcount to %u.\n", layout, refcount);
+ TRACE("%p increasing refcount to %lu.\n", layout, refcount);
if (refcount == 1)
{
@@ -149,7 +149,7 @@ static ULONG STDMETHODCALLTYPE d3d11_input_layout_Release(ID3D11InputLayout *ifa
struct d3d_input_layout *layout = impl_from_ID3D11InputLayout(iface);
ULONG refcount = InterlockedDecrement(&layout->refcount);
- TRACE("%p decreasing refcount to %u.\n", layout, refcount);
+ TRACE("%p decreasing refcount to %lu.\n", layout, refcount);
if (!refcount)
{
@@ -336,7 +336,7 @@ static HRESULT d3d_input_layout_init(struct d3d_input_layout *layout, struct d3d
if (FAILED(hr = d3d11_input_layout_to_wined3d_declaration(element_descs, element_count,
shader_byte_code, shader_byte_code_length, &wined3d_elements)))
{
- WARN("Failed to create wined3d vertex declaration elements, hr %#x.\n", hr);
+ WARN("Failed to create wined3d vertex declaration elements, hr %#lx.\n", hr);
wined3d_private_store_cleanup(&layout->private_store);
wined3d_mutex_unlock();
return hr;
@@ -347,7 +347,7 @@ static HRESULT d3d_input_layout_init(struct d3d_input_layout *layout, struct d3d
heap_free(wined3d_elements);
if (FAILED(hr))
{
- WARN("Failed to create wined3d vertex declaration, hr %#x.\n", hr);
+ WARN("Failed to create wined3d vertex declaration, hr %#lx.\n", hr);
wined3d_private_store_cleanup(&layout->private_store);
wined3d_mutex_unlock();
return hr;
@@ -373,7 +373,7 @@ HRESULT d3d_input_layout_create(struct d3d_device *device,
if (FAILED(hr = d3d_input_layout_init(object, device, element_descs, element_count,
shader_byte_code, shader_byte_code_length)))
{
- WARN("Failed to initialize input layout, hr %#x.\n", hr);
+ WARN("Failed to initialise input layout, hr %#lx.\n", hr);
heap_free(object);
return hr;
}
diff --git a/dlls/d3d11/shader.c b/dlls/d3d11/shader.c
index eec164a876c..2065e5d121c 100644
--- a/dlls/d3d11/shader.c
+++ b/dlls/d3d11/shader.c
@@ -64,7 +64,7 @@ static ULONG STDMETHODCALLTYPE d3d11_vertex_shader_AddRef(ID3D11VertexShader *if
struct d3d_vertex_shader *shader = impl_from_ID3D11VertexShader(iface);
ULONG refcount = InterlockedIncrement(&shader->refcount);
- TRACE("%p increasing refcount to %u.\n", shader, refcount);
+ TRACE("%p increasing refcount to %lu.\n", shader, refcount);
if (refcount == 1)
{
@@ -80,7 +80,7 @@ static ULONG STDMETHODCALLTYPE d3d11_vertex_shader_Release(ID3D11VertexShader *i
struct d3d_vertex_shader *shader = impl_from_ID3D11VertexShader(iface);
ULONG refcount = InterlockedDecrement(&shader->refcount);
- TRACE("%p decreasing refcount to %u.\n", shader, refcount);
+ TRACE("%p decreasing refcount to %lu.\n", shader, refcount);
if (!refcount)
{
@@ -272,7 +272,7 @@ static HRESULT d3d_vertex_shader_init(struct d3d_vertex_shader *shader, struct d
if (FAILED(hr = wined3d_shader_create_vs(device->wined3d_device, &desc, shader,
&d3d_vertex_shader_wined3d_parent_ops, &shader->wined3d_shader)))
{
- WARN("Failed to create wined3d vertex shader, hr %#x.\n", hr);
+ WARN("Failed to create wined3d vertex shader, hr %#lx.\n", hr);
wined3d_private_store_cleanup(&shader->private_store);
wined3d_mutex_unlock();
return E_INVALIDARG;
@@ -295,7 +295,7 @@ HRESULT d3d_vertex_shader_create(struct d3d_device *device, const void *byte_cod
if (FAILED(hr = d3d_vertex_shader_init(object, device, byte_code, byte_code_length)))
{
- WARN("Failed to initialize vertex shader, hr %#x.\n", hr);
+ WARN("Failed to initialise vertex shader, hr %#lx.\n", hr);
heap_free(object);
return hr;
}
@@ -356,7 +356,7 @@ static ULONG STDMETHODCALLTYPE d3d11_hull_shader_AddRef(ID3D11HullShader *iface)
struct d3d11_hull_shader *shader = impl_from_ID3D11HullShader(iface);
ULONG refcount = InterlockedIncrement(&shader->refcount);
- TRACE("%p increasing refcount to %u.\n", shader, refcount);
+ TRACE("%p increasing refcount to %lu.\n", shader, refcount);
if (refcount == 1)
{
@@ -372,7 +372,7 @@ static ULONG STDMETHODCALLTYPE d3d11_hull_shader_Release(ID3D11HullShader *iface
struct d3d11_hull_shader *shader = impl_from_ID3D11HullShader(iface);
ULONG refcount = InterlockedDecrement(&shader->refcount);
- TRACE("%p decreasing refcount to %u.\n", shader, refcount);
+ TRACE("%p decreasing refcount to %lu.\n", shader, refcount);
if (!refcount)
{
@@ -469,7 +469,7 @@ static HRESULT d3d11_hull_shader_init(struct d3d11_hull_shader *shader, struct d
if (FAILED(hr = wined3d_shader_create_hs(device->wined3d_device, &desc, shader,
&d3d11_hull_shader_wined3d_parent_ops, &shader->wined3d_shader)))
{
- WARN("Failed to create wined3d hull shader, hr %#x.\n", hr);
+ WARN("Failed to create wined3d hull shader, hr %#lx.\n", hr);
wined3d_private_store_cleanup(&shader->private_store);
wined3d_mutex_unlock();
return E_INVALIDARG;
@@ -543,7 +543,7 @@ static ULONG STDMETHODCALLTYPE d3d11_domain_shader_AddRef(ID3D11DomainShader *if
struct d3d11_domain_shader *shader = impl_from_ID3D11DomainShader(iface);
ULONG refcount = InterlockedIncrement(&shader->refcount);
- TRACE("%p increasing refcount to %u.\n", shader, refcount);
+ TRACE("%p increasing refcount to %lu.\n", shader, refcount);
if (refcount == 1)
{
@@ -559,7 +559,7 @@ static ULONG STDMETHODCALLTYPE d3d11_domain_shader_Release(ID3D11DomainShader *i
struct d3d11_domain_shader *shader = impl_from_ID3D11DomainShader(iface);
ULONG refcount = InterlockedDecrement(&shader->refcount);
- TRACE("%p decreasing refcount to %u.\n", shader, refcount);
+ TRACE("%p decreasing refcount to %lu.\n", shader, refcount);
if (!refcount)
{
@@ -656,7 +656,7 @@ static HRESULT d3d11_domain_shader_init(struct d3d11_domain_shader *shader, stru
if (FAILED(hr = wined3d_shader_create_ds(device->wined3d_device, &desc, shader,
&d3d11_domain_shader_wined3d_parent_ops, &shader->wined3d_shader)))
{
- WARN("Failed to create wined3d domain shader, hr %#x.\n", hr);
+ WARN("Failed to create wined3d domain shader, hr %#lx.\n", hr);
wined3d_private_store_cleanup(&shader->private_store);
wined3d_mutex_unlock();
return E_INVALIDARG;
@@ -740,7 +740,7 @@ static ULONG STDMETHODCALLTYPE d3d11_geometry_shader_AddRef(ID3D11GeometryShader
struct d3d_geometry_shader *shader = impl_from_ID3D11GeometryShader(iface);
ULONG refcount = InterlockedIncrement(&shader->refcount);
- TRACE("%p increasing refcount to %u.\n", shader, refcount);
+ TRACE("%p increasing refcount to %lu.\n", shader, refcount);
if (refcount == 1)
{
@@ -756,7 +756,7 @@ static ULONG STDMETHODCALLTYPE d3d11_geometry_shader_Release(ID3D11GeometryShade
struct d3d_geometry_shader *shader = impl_from_ID3D11GeometryShader(iface);
ULONG refcount = InterlockedDecrement(&shader->refcount);
- TRACE("%p decreasing refcount to %u.\n", shader, refcount);
+ TRACE("%p decreasing refcount to %lu.\n", shader, refcount);
if (!refcount)
{
@@ -1141,7 +1141,7 @@ static HRESULT d3d_geometry_shader_init(struct d3d_geometry_shader *shader,
if (FAILED(hr = wined3d_shader_create_gs(device->wined3d_device, &desc, so_entries ? &so_desc : NULL,
shader, &d3d_geometry_shader_wined3d_parent_ops, &shader->wined3d_shader)))
{
- WARN("Failed to create wined3d geometry shader, hr %#x.\n", hr);
+ WARN("Failed to create wined3d geometry shader, hr %#lx.\n", hr);
wined3d_private_store_cleanup(&shader->private_store);
wined3d_mutex_unlock();
return E_INVALIDARG;
@@ -1167,7 +1167,7 @@ HRESULT d3d_geometry_shader_create(struct d3d_device *device, const void *byte_c
if (FAILED(hr = d3d_geometry_shader_init(object, device, byte_code, byte_code_length,
so_entries, so_entry_count, buffer_strides, buffer_stride_count, rasterizer_stream)))
{
- WARN("Failed to initialize geometry shader, hr %#x.\n", hr);
+ WARN("Failed to initialise geometry shader, hr %#lx.\n", hr);
heap_free(object);
return hr;
}
@@ -1238,7 +1238,7 @@ static ULONG STDMETHODCALLTYPE d3d11_pixel_shader_AddRef(ID3D11PixelShader *ifac
struct d3d_pixel_shader *shader = impl_from_ID3D11PixelShader(iface);
ULONG refcount = InterlockedIncrement(&shader->refcount);
- TRACE("%p increasing refcount to %u.\n", shader, refcount);
+ TRACE("%p increasing refcount to %lu.\n", shader, refcount);
if (refcount == 1)
{
@@ -1254,7 +1254,7 @@ static ULONG STDMETHODCALLTYPE d3d11_pixel_shader_Release(ID3D11PixelShader *ifa
struct d3d_pixel_shader *shader = impl_from_ID3D11PixelShader(iface);
ULONG refcount = InterlockedDecrement(&shader->refcount);
- TRACE("%p decreasing refcount to %u.\n", shader, refcount);
+ TRACE("%p decreasing refcount to %lu.\n", shader, refcount);
if (!refcount)
{
@@ -1445,7 +1445,7 @@ static HRESULT d3d_pixel_shader_init(struct d3d_pixel_shader *shader, struct d3d
if (FAILED(hr = wined3d_shader_create_ps(device->wined3d_device, &desc, shader,
&d3d_pixel_shader_wined3d_parent_ops, &shader->wined3d_shader)))
{
- WARN("Failed to create wined3d pixel shader, hr %#x.\n", hr);
+ WARN("Failed to create wined3d pixel shader, hr %#lx.\n", hr);
wined3d_private_store_cleanup(&shader->private_store);
wined3d_mutex_unlock();
return E_INVALIDARG;
@@ -1468,7 +1468,7 @@ HRESULT d3d_pixel_shader_create(struct d3d_device *device, const void *byte_code
if (FAILED(hr = d3d_pixel_shader_init(object, device, byte_code, byte_code_length)))
{
- WARN("Failed to initialize pixel shader, hr %#x.\n", hr);
+ WARN("Failed to initialise pixel shader, hr %#lx.\n", hr);
heap_free(object);
return hr;
}
@@ -1528,7 +1528,7 @@ static ULONG STDMETHODCALLTYPE d3d11_compute_shader_AddRef(ID3D11ComputeShader *
struct d3d11_compute_shader *shader = impl_from_ID3D11ComputeShader(iface);
ULONG refcount = InterlockedIncrement(&shader->refcount);
- TRACE("%p increasing refcount to %u.\n", shader, refcount);
+ TRACE("%p increasing refcount to %lu.\n", shader, refcount);
if (refcount == 1)
{
@@ -1544,7 +1544,7 @@ static ULONG STDMETHODCALLTYPE d3d11_compute_shader_Release(ID3D11ComputeShader
struct d3d11_compute_shader *shader = impl_from_ID3D11ComputeShader(iface);
ULONG refcount = InterlockedDecrement(&shader->refcount);
- TRACE("%p decreasing refcount to %u.\n", shader, refcount);
+ TRACE("%p decreasing refcount to %lu.\n", shader, refcount);
if (!refcount)
{
@@ -1640,7 +1640,7 @@ static HRESULT d3d11_compute_shader_init(struct d3d11_compute_shader *shader, st
if (FAILED(hr = wined3d_shader_create_cs(device->wined3d_device, &desc, shader,
&d3d11_compute_shader_wined3d_parent_ops, &shader->wined3d_shader)))
{
- WARN("Failed to create wined3d compute shader, hr %#x.\n", hr);
+ WARN("Failed to create wined3d compute shader, hr %#lx.\n", hr);
wined3d_private_store_cleanup(&shader->private_store);
wined3d_mutex_unlock();
return E_INVALIDARG;
@@ -1713,7 +1713,7 @@ static ULONG STDMETHODCALLTYPE d3d11_class_linkage_AddRef(ID3D11ClassLinkage *if
struct d3d11_class_linkage *class_linkage = impl_from_ID3D11ClassLinkage(iface);
ULONG refcount = InterlockedIncrement(&class_linkage->refcount);
- TRACE("%p increasing refcount to %u.\n", class_linkage, refcount);
+ TRACE("%p increasing refcount to %lu.\n", class_linkage, refcount);
return refcount;
}
@@ -1723,7 +1723,7 @@ static ULONG STDMETHODCALLTYPE d3d11_class_linkage_Release(ID3D11ClassLinkage *i
struct d3d11_class_linkage *class_linkage = impl_from_ID3D11ClassLinkage(iface);
ULONG refcount = InterlockedDecrement(&class_linkage->refcount);
- TRACE("%p decreasing refcount to %u.\n", class_linkage, refcount);
+ TRACE("%p decreasing refcount to %lu.\n", class_linkage, refcount);
if (!refcount)
{
diff --git a/dlls/d3d11/state.c b/dlls/d3d11/state.c
index bb12a93dec5..f67017ff1ef 100644
--- a/dlls/d3d11/state.c
+++ b/dlls/d3d11/state.c
@@ -59,7 +59,7 @@ static ULONG STDMETHODCALLTYPE d3d11_blend_state_AddRef(ID3D11BlendState *iface)
struct d3d_blend_state *state = impl_from_ID3D11BlendState(iface);
ULONG refcount = InterlockedIncrement(&state->refcount);
- TRACE("%p increasing refcount to %u.\n", state, refcount);
+ TRACE("%p increasing refcount to %lu.\n", state, refcount);
if (refcount == 1)
{
@@ -75,7 +75,7 @@ static ULONG STDMETHODCALLTYPE d3d11_blend_state_Release(ID3D11BlendState *iface
struct d3d_blend_state *state = impl_from_ID3D11BlendState(iface);
ULONG refcount = InterlockedDecrement(&state->refcount);
- TRACE("%p decreasing refcount to %u.\n", state, refcount);
+ TRACE("%p decreasing refcount to %lu.\n", state, refcount);
if (!refcount)
{
@@ -413,7 +413,7 @@ HRESULT d3d_blend_state_create(struct d3d_device *device, const D3D11_BLEND_DESC
if (FAILED(hr = wined3d_blend_state_create(device->wined3d_device, &wined3d_desc,
object, &d3d_blend_state_wined3d_parent_ops, &object->wined3d_state)))
{
- WARN("Failed to create wined3d blend state, hr %#x.\n", hr);
+ WARN("Failed to create wined3d blend state, hr %#lx.\n", hr);
wined3d_private_store_cleanup(&object->private_store);
wine_rb_remove(&device->blend_states, &object->entry);
heap_free(object);
@@ -485,7 +485,7 @@ static ULONG STDMETHODCALLTYPE d3d11_depthstencil_state_AddRef(ID3D11DepthStenci
struct d3d_depthstencil_state *state = impl_from_ID3D11DepthStencilState(iface);
ULONG refcount = InterlockedIncrement(&state->refcount);
- TRACE("%p increasing refcount to %u.\n", state, refcount);
+ TRACE("%p increasing refcount to %lu.\n", state, refcount);
if (refcount == 1)
{
@@ -501,7 +501,7 @@ static ULONG STDMETHODCALLTYPE d3d11_depthstencil_state_Release(ID3D11DepthStenc
struct d3d_depthstencil_state *state = impl_from_ID3D11DepthStencilState(iface);
ULONG refcount = InterlockedDecrement(&state->refcount);
- TRACE("%p decreasing refcount to %u.\n", state, refcount);
+ TRACE("%p decreasing refcount to %lu.\n", state, refcount);
if (!refcount)
{
@@ -804,7 +804,7 @@ HRESULT d3d_depthstencil_state_create(struct d3d_device *device, const D3D11_DEP
if (FAILED(hr = wined3d_depth_stencil_state_create(device->wined3d_device, &wined3d_desc,
object, &d3d_depthstencil_state_wined3d_parent_ops, &object->wined3d_state)))
{
- WARN("Failed to create wined3d depth/stencil state, hr %#x.\n", hr);
+ WARN("Failed to create wined3d depth/stencil state, hr %#lx.\n", hr);
wined3d_private_store_cleanup(&object->private_store);
wine_rb_remove(&device->depthstencil_states, &object->entry);
heap_free(object);
@@ -882,7 +882,7 @@ static ULONG STDMETHODCALLTYPE d3d11_rasterizer_state_AddRef(ID3D11RasterizerSta
struct d3d_rasterizer_state *state = impl_from_ID3D11RasterizerState1(iface);
ULONG refcount = InterlockedIncrement(&state->refcount);
- TRACE("%p increasing refcount to %u.\n", state, refcount);
+ TRACE("%p increasing refcount to %lu.\n", state, refcount);
if (refcount == 1)
{
@@ -898,7 +898,7 @@ static ULONG STDMETHODCALLTYPE d3d11_rasterizer_state_Release(ID3D11RasterizerSt
struct d3d_rasterizer_state *state = impl_from_ID3D11RasterizerState1(iface);
ULONG refcount = InterlockedDecrement(&state->refcount);
- TRACE("%p decreasing refcount to %u.\n", state, refcount);
+ TRACE("%p decreasing refcount to %lu.\n", state, refcount);
if (!refcount)
{
@@ -1168,7 +1168,7 @@ static HRESULT d3d_rasterizer_state_init(struct d3d_rasterizer_state *state, str
if (FAILED(hr = wined3d_rasterizer_state_create(device->wined3d_device, &wined3d_desc,
state, &d3d_rasterizer_state_wined3d_parent_ops, &state->wined3d_state)))
{
- WARN("Failed to create wined3d rasterizer state, hr %#x.\n", hr);
+ WARN("Failed to create wined3d rasteriser state, hr %#lx.\n", hr);
wined3d_private_store_cleanup(&state->private_store);
wine_rb_remove(&device->rasterizer_states, &state->entry);
return hr;
@@ -1209,7 +1209,7 @@ HRESULT d3d_rasterizer_state_create(struct d3d_device *device, const D3D11_RASTE
wined3d_mutex_unlock();
if (FAILED(hr))
{
- WARN("Failed to initialize rasterizer state, hr %#x.\n", hr);
+ WARN("Failed to initialise rasterizer state, hr %#lx.\n", hr);
heap_free(object);
return hr;
}
@@ -1280,7 +1280,7 @@ static ULONG STDMETHODCALLTYPE d3d11_sampler_state_AddRef(ID3D11SamplerState *if
struct d3d_sampler_state *state = impl_from_ID3D11SamplerState(iface);
ULONG refcount = InterlockedIncrement(&state->refcount);
- TRACE("%p increasing refcount to %u.\n", state, refcount);
+ TRACE("%p increasing refcount to %lu.\n", state, refcount);
if (refcount == 1)
{
@@ -1296,7 +1296,7 @@ static ULONG STDMETHODCALLTYPE d3d11_sampler_state_Release(ID3D11SamplerState *i
struct d3d_sampler_state *state = impl_from_ID3D11SamplerState(iface);
ULONG refcount = InterlockedDecrement(&state->refcount);
- TRACE("%p decreasing refcount to %u.\n", state, refcount);
+ TRACE("%p decreasing refcount to %lu.\n", state, refcount);
if (!refcount)
{
@@ -1572,7 +1572,7 @@ static HRESULT d3d_sampler_state_init(struct d3d_sampler_state *state, struct d3
if (FAILED(hr = wined3d_sampler_create(device->wined3d_device, &wined3d_desc,
state, &d3d_sampler_wined3d_parent_ops, &state->wined3d_sampler)))
{
- WARN("Failed to create wined3d sampler, hr %#x.\n", hr);
+ WARN("Failed to create wined3d sampler, hr %#lx.\n", hr);
wined3d_private_store_cleanup(&state->private_store);
wine_rb_remove(&device->sampler_states, &state->entry);
return hr;
@@ -1627,7 +1627,7 @@ HRESULT d3d_sampler_state_create(struct d3d_device *device, const D3D11_SAMPLER_
wined3d_mutex_unlock();
if (FAILED(hr))
{
- WARN("Failed to initialize sampler state, hr %#x.\n", hr);
+ WARN("Failed to initialise sampler state, hr %#lx.\n", hr);
heap_free(object);
return hr;
}
diff --git a/dlls/d3d11/texture.c b/dlls/d3d11/texture.c
index 87928e638d1..09ba1136f97 100644
--- a/dlls/d3d11/texture.c
+++ b/dlls/d3d11/texture.c
@@ -71,7 +71,7 @@ static ULONG STDMETHODCALLTYPE d3d11_texture1d_AddRef(ID3D11Texture1D *iface)
struct d3d_texture1d *texture = impl_from_ID3D11Texture1D(iface);
ULONG refcount = InterlockedIncrement(&texture->refcount);
- TRACE("%p increasing refcount to %u.\n", texture, refcount);
+ TRACE("%p increasing refcount to %lu.\n", texture, refcount);
if (refcount == 1)
{
@@ -87,7 +87,7 @@ static ULONG STDMETHODCALLTYPE d3d11_texture1d_Release(ID3D11Texture1D *iface)
struct d3d_texture1d *texture = impl_from_ID3D11Texture1D(iface);
ULONG refcount = InterlockedDecrement(&texture->refcount);
- TRACE("%p decreasing refcount to %u.\n", texture, refcount);
+ TRACE("%p decreasing refcount to %lu.\n", texture, refcount);
if (!refcount)
{
@@ -463,7 +463,7 @@ HRESULT d3d_texture1d_create(struct d3d_device *device, const D3D11_TEXTURE1D_DE
desc->ArraySize, levels, flags, (struct wined3d_sub_resource_data *)data,
texture, &d3d_texture1d_wined3d_parent_ops, &texture->wined3d_texture)))
{
- WARN("Failed to create wined3d texture, hr %#x.\n", hr);
+ WARN("Failed to create wined3d texture, hr %#lx.\n", hr);
wined3d_private_store_cleanup(&texture->private_store);
heap_free(texture);
wined3d_mutex_unlock();
@@ -490,7 +490,7 @@ HRESULT d3d_texture1d_create(struct d3d_device *device, const D3D11_TEXTURE1D_DE
IWineDXGIDevice_Release(wine_device);
if (FAILED(hr))
{
- ERR("Failed to create DXGI surface, returning %#.x\n", hr);
+ ERR("Failed to create DXGI surface, returning %#.lx\n", hr);
texture->dxgi_surface = NULL;
wined3d_texture_decref(texture->wined3d_texture);
wined3d_mutex_unlock();
@@ -550,7 +550,7 @@ static ULONG STDMETHODCALLTYPE d3d11_texture2d_AddRef(ID3D11Texture2D *iface)
struct d3d_texture2d *texture = impl_from_ID3D11Texture2D(iface);
ULONG refcount = InterlockedIncrement(&texture->refcount);
- TRACE("%p increasing refcount to %u.\n", texture, refcount);
+ TRACE("%p increasing refcount to %lu.\n", texture, refcount);
if (refcount == 1)
{
@@ -566,7 +566,7 @@ static ULONG STDMETHODCALLTYPE d3d11_texture2d_Release(ID3D11Texture2D *iface)
struct d3d_texture2d *texture = impl_from_ID3D11Texture2D(iface);
ULONG refcount = InterlockedDecrement(&texture->refcount);
- TRACE("%p decreasing refcount to %u.\n", texture, refcount);
+ TRACE("%p decreasing refcount to %lu.\n", texture, refcount);
if (!refcount)
{
@@ -1009,7 +1009,7 @@ HRESULT d3d_texture2d_create(struct d3d_device *device, const D3D11_TEXTURE2D_DE
desc->ArraySize, levels, flags, (struct wined3d_sub_resource_data *)data,
texture, &d3d_texture2d_wined3d_parent_ops, &texture->wined3d_texture)))
{
- WARN("Failed to create wined3d texture, hr %#x.\n", hr);
+ WARN("Failed to create wined3d texture, hr %#lx.\n", hr);
wined3d_private_store_cleanup(&texture->private_store);
heap_free(texture);
wined3d_mutex_unlock();
@@ -1037,7 +1037,7 @@ HRESULT d3d_texture2d_create(struct d3d_device *device, const D3D11_TEXTURE2D_DE
IWineDXGIDevice_Release(wine_device);
if (FAILED(hr))
{
- ERR("Failed to create DXGI surface, returning %#.x\n", hr);
+ ERR("Failed to create DXGI surface, returning %#.lx\n", hr);
texture->dxgi_surface = NULL;
wined3d_texture_decref(texture->wined3d_texture);
wined3d_mutex_unlock();
@@ -1096,7 +1096,7 @@ static ULONG STDMETHODCALLTYPE d3d11_texture3d_AddRef(ID3D11Texture3D *iface)
struct d3d_texture3d *texture = impl_from_ID3D11Texture3D(iface);
ULONG refcount = InterlockedIncrement(&texture->refcount);
- TRACE("%p increasing refcount to %u.\n", texture, refcount);
+ TRACE("%p increasing refcount to %lu.\n", texture, refcount);
if (refcount == 1)
{
@@ -1120,7 +1120,7 @@ static ULONG STDMETHODCALLTYPE d3d11_texture3d_Release(ID3D11Texture3D *iface)
struct d3d_texture3d *texture = impl_from_ID3D11Texture3D(iface);
ULONG refcount = InterlockedDecrement(&texture->refcount);
- TRACE("%p decreasing refcount to %u.\n", texture, refcount);
+ TRACE("%p decreasing refcount to %lu.\n", texture, refcount);
if (!refcount)
{
@@ -1458,7 +1458,7 @@ static HRESULT d3d_texture3d_init(struct d3d_texture3d *texture, struct d3d_devi
1, levels, flags, (struct wined3d_sub_resource_data *)data, texture,
&d3d_texture3d_wined3d_parent_ops, &texture->wined3d_texture)))
{
- WARN("Failed to create wined3d texture, hr %#x.\n", hr);
+ WARN("Failed to create wined3d texture, hr %#lx.\n", hr);
wined3d_private_store_cleanup(&texture->private_store);
wined3d_mutex_unlock();
if (hr == WINED3DERR_INVALIDCALL)
@@ -1484,7 +1484,7 @@ HRESULT d3d_texture3d_create(struct d3d_device *device, const D3D11_TEXTURE3D_DE
if (FAILED(hr = d3d_texture3d_init(object, device, desc, data)))
{
- WARN("Failed to initialize texture, hr %#x.\n", hr);
+ WARN("Failed to initialise texture, hr %#lx.\n", hr);
heap_free(object);
return hr;
}
diff --git a/dlls/d3d11/view.c b/dlls/d3d11/view.c
index 89c541fa9ed..3ce9027ed6e 100644
--- a/dlls/d3d11/view.c
+++ b/dlls/d3d11/view.c
@@ -958,7 +958,7 @@ static ULONG STDMETHODCALLTYPE d3d11_depthstencil_view_AddRef(ID3D11DepthStencil
struct d3d_depthstencil_view *view = impl_from_ID3D11DepthStencilView(iface);
ULONG refcount = InterlockedIncrement(&view->refcount);
- TRACE("%p increasing refcount to %u.\n", view, refcount);
+ TRACE("%p increasing refcount to %lu.\n", view, refcount);
if (refcount == 1)
{
@@ -974,7 +974,7 @@ static ULONG STDMETHODCALLTYPE d3d11_depthstencil_view_Release(ID3D11DepthStenci
struct d3d_depthstencil_view *view = impl_from_ID3D11DepthStencilView(iface);
ULONG refcount = InterlockedDecrement(&view->refcount);
- TRACE("%p decreasing refcount to %u.\n", view, refcount);
+ TRACE("%p decreasing refcount to %lu.\n", view, refcount);
if (!refcount)
{
@@ -1300,7 +1300,7 @@ static HRESULT d3d_depthstencil_view_init(struct d3d_depthstencil_view *view, st
view, &d3d_depth_stencil_view_wined3d_parent_ops, &view->wined3d_view)))
{
wined3d_mutex_unlock();
- WARN("Failed to create a wined3d rendertarget view, hr %#x.\n", hr);
+ WARN("Failed to create a wined3d rendertarget view, hr %#lx.\n", hr);
return hr;
}
@@ -1323,7 +1323,7 @@ HRESULT d3d_depthstencil_view_create(struct d3d_device *device, ID3D11Resource *
if (FAILED(hr = d3d_depthstencil_view_init(object, device, resource, desc)))
{
- WARN("Failed to initialize depthstencil view, hr %#x.\n", hr);
+ WARN("Failed to initialise depth/stencil view, hr %#lx.\n", hr);
heap_free(object);
return hr;
}
@@ -1396,7 +1396,7 @@ static ULONG STDMETHODCALLTYPE d3d11_rendertarget_view_AddRef(ID3D11RenderTarget
struct d3d_rendertarget_view *view = impl_from_ID3D11RenderTargetView(iface);
ULONG refcount = InterlockedIncrement(&view->refcount);
- TRACE("%p increasing refcount to %u.\n", view, refcount);
+ TRACE("%p increasing refcount to %lu.\n", view, refcount);
if (refcount == 1)
{
@@ -1412,7 +1412,7 @@ static ULONG STDMETHODCALLTYPE d3d11_rendertarget_view_Release(ID3D11RenderTarge
struct d3d_rendertarget_view *view = impl_from_ID3D11RenderTargetView(iface);
ULONG refcount = InterlockedDecrement(&view->refcount);
- TRACE("%p decreasing refcount to %u.\n", view, refcount);
+ TRACE("%p decreasing refcount to %lu.\n", view, refcount);
if (!refcount)
{
@@ -1741,7 +1741,7 @@ static HRESULT d3d_rendertarget_view_init(struct d3d_rendertarget_view *view, st
view, &d3d_render_target_view_wined3d_parent_ops, &view->wined3d_view)))
{
wined3d_mutex_unlock();
- WARN("Failed to create a wined3d rendertarget view, hr %#x.\n", hr);
+ WARN("Failed to create a wined3d rendertarget view, hr %#lx.\n", hr);
return hr;
}
@@ -1764,7 +1764,7 @@ HRESULT d3d_rendertarget_view_create(struct d3d_device *device, ID3D11Resource *
if (FAILED(hr = d3d_rendertarget_view_init(object, device, resource, desc)))
{
- WARN("Failed to initialize rendertarget view, hr %#x.\n", hr);
+ WARN("Failed to initialise rendertarget view, hr %#lx.\n", hr);
heap_free(object);
return hr;
}
@@ -1838,7 +1838,7 @@ static ULONG STDMETHODCALLTYPE d3d11_shader_resource_view_AddRef(ID3D11ShaderRes
struct d3d_shader_resource_view *view = impl_from_ID3D11ShaderResourceView(iface);
ULONG refcount = InterlockedIncrement(&view->refcount);
- TRACE("%p increasing refcount to %u.\n", view, refcount);
+ TRACE("%p increasing refcount to %lu.\n", view, refcount);
if (refcount == 1)
{
@@ -1854,7 +1854,7 @@ static ULONG STDMETHODCALLTYPE d3d11_shader_resource_view_Release(ID3D11ShaderRe
struct d3d_shader_resource_view *view = impl_from_ID3D11ShaderResourceView(iface);
ULONG refcount = InterlockedDecrement(&view->refcount);
- TRACE("%p decreasing refcount to %u.\n", view, refcount);
+ TRACE("%p decreasing refcount to %lu.\n", view, refcount);
if (!refcount)
{
@@ -2235,7 +2235,7 @@ static HRESULT d3d_shader_resource_view_init(struct d3d_shader_resource_view *vi
view, &d3d_shader_resource_view_wined3d_parent_ops, &view->wined3d_view)))
{
wined3d_mutex_unlock();
- WARN("Failed to create wined3d shader resource view, hr %#x.\n", hr);
+ WARN("Failed to create wined3d shader resource view, hr %#lx.\n", hr);
return hr;
}
@@ -2258,7 +2258,7 @@ HRESULT d3d_shader_resource_view_create(struct d3d_device *device, ID3D11Resourc
if (FAILED(hr = d3d_shader_resource_view_init(object, device, resource, desc)))
{
- WARN("Failed to initialize shader resource view, hr %#x.\n", hr);
+ WARN("Failed to initialise shader resource view, hr %#lx.\n", hr);
heap_free(object);
return hr;
}
@@ -2317,7 +2317,7 @@ static ULONG STDMETHODCALLTYPE d3d11_unordered_access_view_AddRef(ID3D11Unordere
struct d3d11_unordered_access_view *view = impl_from_ID3D11UnorderedAccessView(iface);
ULONG refcount = InterlockedIncrement(&view->refcount);
- TRACE("%p increasing refcount to %u.\n", view, refcount);
+ TRACE("%p increasing refcount to %lu.\n", view, refcount);
if (refcount == 1)
{
@@ -2333,7 +2333,7 @@ static ULONG STDMETHODCALLTYPE d3d11_unordered_access_view_Release(ID3D11Unorder
struct d3d11_unordered_access_view *view = impl_from_ID3D11UnorderedAccessView(iface);
ULONG refcount = InterlockedDecrement(&view->refcount);
- TRACE("%p decreasing refcount to %u.\n", view, refcount);
+ TRACE("%p decreasing refcount to %lu.\n", view, refcount);
if (!refcount)
{
@@ -2538,7 +2538,7 @@ static HRESULT d3d11_unordered_access_view_init(struct d3d11_unordered_access_vi
view, &d3d11_unordered_access_view_wined3d_parent_ops, &view->wined3d_view)))
{
wined3d_mutex_unlock();
- WARN("Failed to create wined3d unordered access view, hr %#x.\n", hr);
+ WARN("Failed to create wined3d unordered access view, hr %#lx.\n", hr);
return hr;
}
@@ -2561,7 +2561,7 @@ HRESULT d3d11_unordered_access_view_create(struct d3d_device *device, ID3D11Reso
if (FAILED(hr = d3d11_unordered_access_view_init(object, device, resource, desc)))
{
- WARN("Failed to initialize unordered access view, hr %#x.\n", hr);
+ WARN("Failed to initialise unordered access view, hr %#lx.\n", hr);
heap_free(object);
return hr;
}
--
2.30.2
2
1