diff --git a/brightray/browser/linux/libnotify_loader.cc b/brightray/browser/linux/libnotify_loader.cc index 61d74226895d..f5c384db5672 100644 --- a/brightray/browser/linux/libnotify_loader.cc +++ b/brightray/browser/linux/libnotify_loader.cc @@ -47,6 +47,15 @@ bool LibNotifyLoader::Load(const std::string& library_name) { return false; } + notify_get_server_caps = + reinterpret_castnotify_get_server_caps)>( + dlsym(library_, "notify_get_server_caps")); + notify_get_server_caps = &::notify_get_server_caps; + if (!notify_get_server_caps) { + CleanUp(true); + return false; + } + notify_notification_new = reinterpret_castnotify_notification_new)>( dlsym(library_, "notify_notification_new")); @@ -114,6 +123,7 @@ void LibNotifyLoader::CleanUp(bool unload) { notify_is_initted = NULL; notify_init = NULL; notify_get_server_info = NULL; + notify_get_server_caps = NULL; notify_notification_new = NULL; notify_notification_add_action = NULL; notify_notification_set_image_from_pixbuf = NULL; diff --git a/brightray/browser/linux/libnotify_loader.h b/brightray/browser/linux/libnotify_loader.h index 32b01cf43324..818b0ddae074 100644 --- a/brightray/browser/linux/libnotify_loader.h +++ b/brightray/browser/linux/libnotify_loader.h @@ -20,6 +20,7 @@ class LibNotifyLoader { decltype(&::notify_is_initted) notify_is_initted; decltype(&::notify_init) notify_init; + decltype(&::notify_get_server_caps) notify_get_server_caps; decltype(&::notify_get_server_info) notify_get_server_info; decltype(&::notify_notification_new) notify_notification_new; decltype(&::notify_notification_add_action) notify_notification_add_action;