Find glibconfig.h cmake should use pkgconfig information instead of a hard coded path to /usr/lib.

the OnOpen callback should be called when set to avoid a segfault.
This commit is contained in:
bjcollins 2014-06-27 14:46:27 -05:00
parent 9e1793c8ff
commit d2d04f764d
3 changed files with 5 additions and 4 deletions

View File

@ -409,7 +409,8 @@ int dvcman_open_channel(IWTSVirtualChannelManager* pChannelMgr, UINT32 ChannelId
if (channel->status == 0) if (channel->status == 0)
{ {
pCallback = channel->channel_callback; pCallback = channel->channel_callback;
pCallback->OnOpen(pCallback); if (pCallback->OnOpen)
pCallback->OnOpen(pCallback);
} }
return 0; return 0;

View File

@ -329,6 +329,7 @@ static int tsmf_on_new_channel_connection(IWTSListenerCallback *pListenerCallbac
ZeroMemory(callback, sizeof(TSMF_CHANNEL_CALLBACK)); ZeroMemory(callback, sizeof(TSMF_CHANNEL_CALLBACK));
callback->iface.OnDataReceived = tsmf_on_data_received; callback->iface.OnDataReceived = tsmf_on_data_received;
callback->iface.OnClose = tsmf_on_close; callback->iface.OnClose = tsmf_on_close;
callback->iface.OnOpen = NULL;
callback->plugin = listener_callback->plugin; callback->plugin = listener_callback->plugin;
callback->channel_mgr = listener_callback->channel_mgr; callback->channel_mgr = listener_callback->channel_mgr;
callback->channel = pChannel; callback->channel = pChannel;

View File

@ -28,11 +28,10 @@ find_library(Gobject_LIBRARY
PATHS ${Glib_PKGCONF_LIBRARY_DIRS} ${GLIB_ROOT_DIR} PATHS ${Glib_PKGCONF_LIBRARY_DIRS} ${GLIB_ROOT_DIR}
) )
# Glib-related libraries also use a separate config header, which is in lib dir # Glib-related libraries also use a separate config header, which is relative to lib dir
find_path(GlibConfig_INCLUDE_DIR find_path(GlibConfig_INCLUDE_DIR
NAMES glibconfig.h NAMES glibconfig.h
PATHS ${Glib_PKGCONF_INCLUDE_DIRS} /usr ${GLIB_ROOT_DIR} PATHS ${Glib_PKGCONF_INCLUDE_DIRS} ${GLIB_ROOT_DIR}
PATH_SUFFIXES lib/glib-2.0/include glib-2.0/include
) )
# Set the include dir variables and the libraries and let libfind_process do the rest. # Set the include dir variables and the libraries and let libfind_process do the rest.