From b949b17c3cb7b6752bc8daf2834415163792a76c Mon Sep 17 00:00:00 2001 From: Kim Motoyoshi Kalland Date: Thu, 21 Jul 2011 18:47:26 +0200 Subject: Changed QLibrary::resolve() to return a function pointer. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit According to the C++ standard, there is no guarantee that you can cast between function pointers and void pointers without data loss (section 5.2.10-6). Change-Id: I27f4d835e4c8ca8ecca0d76cfea9ce34491956bd Reviewed-on: http://codereview.qt.nokia.com/1995 Reviewed-by: Qt Sanity Bot Reviewed-by: João Abecasis --- src/dbus/qdbus_symbols.cpp | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) (limited to 'src/dbus/qdbus_symbols.cpp') diff --git a/src/dbus/qdbus_symbols.cpp b/src/dbus/qdbus_symbols.cpp index fed18350bb..8e74b8b922 100644 --- a/src/dbus/qdbus_symbols.cpp +++ b/src/dbus/qdbus_symbols.cpp @@ -48,7 +48,7 @@ QT_BEGIN_NAMESPACE -void *qdbus_resolve_me(const char *name); +void (*qdbus_resolve_me(const char *name))(); #if !defined QT_LINKED_LIBDBUS @@ -95,20 +95,19 @@ bool qdbus_loadLibDBus() return false; } -void *qdbus_resolve_conditionally(const char *name) +void (*qdbus_resolve_conditionally(const char *name))() { if (qdbus_loadLibDBus()) return qdbus_libdbus->resolve(name); return 0; } -void *qdbus_resolve_me(const char *name) +void (*qdbus_resolve_me(const char *name))() { - void *ptr = 0; if (!qdbus_loadLibDBus()) qFatal("Cannot find libdbus-1 in your system to resolve symbol '%s'.", name); - ptr = qdbus_libdbus->resolve(name); + QFunctionPointer ptr = qdbus_libdbus->resolve(name); if (!ptr) qFatal("Cannot resolve '%s' in your libdbus-1.", name); -- cgit v1.2.3