diff options
author | Friedemann Kleint <Friedemann.Kleint@theqtcompany.com> | 2015-12-04 12:20:50 +0100 |
---|---|---|
committer | Friedemann Kleint <Friedemann.Kleint@theqtcompany.com> | 2015-12-07 19:37:33 +0000 |
commit | df053dc642b4cb284112f63b6572ac5cfc175b35 (patch) | |
tree | 8b663278d2fca51d64eec8b3027924f7447ba661 /src | |
parent | 9744ca10856e3b113231d37baf2e073611c7cc09 (diff) |
WinRT: Add RETURN_[]_IF_FAILED_WITH_ARGS macros.
Make it possible to pass arguments to the messages by
introducing variadic macro versions of RETURN_[]_IF_FAILED.
Change-Id: Iec27adb33d9d3211fdc299f07777fcdf33f08a93
Reviewed-by: Oliver Wolff <oliver.wolff@theqtcompany.com>
Diffstat (limited to 'src')
-rw-r--r-- | src/corelib/kernel/qfunctions_winrt.h | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/src/corelib/kernel/qfunctions_winrt.h b/src/corelib/kernel/qfunctions_winrt.h index 69d5c1eb52..ee4e050793 100644 --- a/src/corelib/kernel/qfunctions_winrt.h +++ b/src/corelib/kernel/qfunctions_winrt.h @@ -49,10 +49,20 @@ ret; \ } +#define RETURN_IF_FAILED_WITH_ARGS(msg, ret, ...) \ + if (FAILED(hr)) { \ + qErrnoWarning(hr, msg, __VA_ARGS__); \ + ret; \ + } + #define RETURN_HR_IF_FAILED(msg) RETURN_IF_FAILED(msg, return hr) #define RETURN_OK_IF_FAILED(msg) RETURN_IF_FAILED(msg, return S_OK) #define RETURN_FALSE_IF_FAILED(msg) RETURN_IF_FAILED(msg, return false) #define RETURN_VOID_IF_FAILED(msg) RETURN_IF_FAILED(msg, return) +#define RETURN_HR_IF_FAILED_WITH_ARGS(msg, ...) RETURN_IF_FAILED_WITH_ARGS(msg, return hr, __VA_ARGS__) +#define RETURN_OK_IF_FAILED_WITH_ARGS(msg, ...) RETURN_IF_FAILED_WITH_ARGS(msg, return S_OK, __VA_ARGS__) +#define RETURN_FALSE_IF_FAILED_WITH_ARGS(msg, ...) RETURN_IF_FAILED_WITH_ARGS(msg, return false, __VA_ARGS__) +#define RETURN_VOID_IF_FAILED_WITH_ARGS(msg, ...) RETURN_IF_FAILED_WITH_ARGS(msg, return, __VA_ARGS__) #define Q_ASSERT_SUCCEEDED(hr) \ Q_ASSERT_X(SUCCEEDED(hr), Q_FUNC_INFO, qPrintable(qt_error_string(hr))); |