From 9e43f1b5de3d44041264ad670ec7456cd419c268 Mon Sep 17 00:00:00 2001 From: John Preston Date: Fri, 16 Jan 2015 20:00:35 +0300 Subject: [PATCH] trying to load specific versions of libs on linux, otherwise - just libs --- Telegram/SourceFiles/pspecific_linux.cpp | 25 +++++++++++++++++------- 1 file changed, 18 insertions(+), 7 deletions(-) diff --git a/Telegram/SourceFiles/pspecific_linux.cpp b/Telegram/SourceFiles/pspecific_linux.cpp index 6e738bbad..34204f521 100644 --- a/Telegram/SourceFiles/pspecific_linux.cpp +++ b/Telegram/SourceFiles/pspecific_linux.cpp @@ -331,8 +331,11 @@ namespace { void setupGTK() { QLibrary lib_gtk(QLatin1String("gtk-x11-2.0"), 0, 0), lib_indicator(QLatin1String("appindicator"), 1, 0); if (!lib_gtk.load()) { - _initErrors.push_back(QString("Failed to load 'gtk-x11-2.0' library!")); - return; + lib_gtk.setFileNameAndVersion(QLatin1String("gtk-x11-2.0"), QString()); + if (!lib_gtk.load()) { + _initErrors.push_back(QString("Failed to load 'gtk-x11-2.0' library!")); + return; + } } if (!loadFunction(lib_gtk, "gtk_init_check", ps_gtk_init_check)) return; @@ -354,8 +357,13 @@ namespace { if (lib_indicator.load()) { setupAppIndicator(lib_indicator); } else { - _initErrors.push_back(QString("Failed to load 'appindicator' library!")); - return; + lib_indicator.setFileNameAndVersion(QLatin1String("appindicator"), QString()); + if (lib_indicator.load()) { + setupAppIndicator(lib_indicator); + } else { + _initErrors.push_back(QString("Failed to load 'appindicator' library!")); + return; + } } if (!loadFunction(lib_gtk, "gdk_init_check", ps_gdk_init_check)) return; @@ -383,10 +391,13 @@ namespace { useAppIndicator = true; } void setupUnity() { - QLibrary lib_unity("unity", 9, 0); + QLibrary lib_unity(QLatin1String("unity"), 9, 0); if (!lib_unity.load()) { - _initErrors.push_back(QString("Failed to load 'unity' library!")); - return; + lib_unity.setFileNameAndVersion(QLatin1String("unity"), QString()); + if (!lib_unity.load()) { + _initErrors.push_back(QString("Failed to load 'unity' library!")); + return; + } } if (!loadFunction(lib_unity, "unity_launcher_entry_get_for_desktop_id", ps_unity_launcher_entry_get_for_desktop_id)) return;