Merge lp:~dobey/indicator-transfer/snap-plugins-dir into lp:indicator-transfer

Proposed by dobey
Status: Merged
Approved by: Pete Woods
Approved revision: 48
Merged at revision: 51
Proposed branch: lp:~dobey/indicator-transfer/snap-plugins-dir
Merge into: lp:indicator-transfer
Prerequisite: lp:~dobey/indicator-transfer/new-gmock
Diff against target: 40 lines (+14/-4)
1 file modified
src/plugin-source.cpp (+14/-4)
To merge this branch: bzr merge lp:~dobey/indicator-transfer/snap-plugins-dir
Reviewer Review Type Date Requested Status
Pete Woods (community) Approve
unity-api-1-bot continuous-integration Approve
Review via email: mp+312402@code.launchpad.net

Commit message

Load plug-ins from $SNAP path too.

To post a comment you must log in.
Revision history for this message
unity-api-1-bot (unity-api-1-bot) wrote :

PASSED: Continuous integration, rev:48
https://jenkins.canonical.com/unity-api-1/job/lp-indicator-transfer-ci/12/
Executed test runs:
    SUCCESS: https://jenkins.canonical.com/unity-api-1/job/build/1229
    SUCCESS: https://jenkins.canonical.com/unity-api-1/job/build-0-fetch/1236
    SUCCESS: https://jenkins.canonical.com/unity-api-1/job/build-2-binpkg/arch=amd64,release=xenial+overlay/1019
        deb: https://jenkins.canonical.com/unity-api-1/job/build-2-binpkg/arch=amd64,release=xenial+overlay/1019/artifact/output/*zip*/output.zip
    SUCCESS: https://jenkins.canonical.com/unity-api-1/job/build-2-binpkg/arch=amd64,release=zesty/1019
        deb: https://jenkins.canonical.com/unity-api-1/job/build-2-binpkg/arch=amd64,release=zesty/1019/artifact/output/*zip*/output.zip
    SUCCESS: https://jenkins.canonical.com/unity-api-1/job/build-2-binpkg/arch=armhf,release=xenial+overlay/1019
        deb: https://jenkins.canonical.com/unity-api-1/job/build-2-binpkg/arch=armhf,release=xenial+overlay/1019/artifact/output/*zip*/output.zip
    SUCCESS: https://jenkins.canonical.com/unity-api-1/job/build-2-binpkg/arch=armhf,release=zesty/1019
        deb: https://jenkins.canonical.com/unity-api-1/job/build-2-binpkg/arch=armhf,release=zesty/1019/artifact/output/*zip*/output.zip
    SUCCESS: https://jenkins.canonical.com/unity-api-1/job/build-2-binpkg/arch=i386,release=xenial+overlay/1019
        deb: https://jenkins.canonical.com/unity-api-1/job/build-2-binpkg/arch=i386,release=xenial+overlay/1019/artifact/output/*zip*/output.zip
    SUCCESS: https://jenkins.canonical.com/unity-api-1/job/build-2-binpkg/arch=i386,release=zesty/1019
        deb: https://jenkins.canonical.com/unity-api-1/job/build-2-binpkg/arch=i386,release=zesty/1019/artifact/output/*zip*/output.zip

Click here to trigger a rebuild:
https://jenkins.canonical.com/unity-api-1/job/lp-indicator-transfer-ci/12/rebuild

review: Approve (continuous-integration)
Revision history for this message
Pete Woods (pete-woods) :
review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'src/plugin-source.cpp'
2--- src/plugin-source.cpp 2015-07-29 19:26:12 +0000
3+++ src/plugin-source.cpp 2016-12-02 21:42:20 +0000
4@@ -1,5 +1,5 @@
5 /*
6- * Copyright 2015 Canonical Ltd.
7+ * Copyright 2015-2016 Canonical Ltd.
8 *
9 * This program is free software: you can redistribute it and/or modify it
10 * under the terms of the GNU General Public License version 3, as published
11@@ -36,9 +36,19 @@
12 Impl(PluginSource& owner, const std::string& plugin_dir):
13 m_owner(owner)
14 {
15+ auto get_snap_path = []() {
16+ const char* env_snap = getenv("SNAP");
17+ if (env_snap == nullptr) {
18+ return "";
19+ }
20+ return env_snap;
21+ };
22+ static const std::string SNAP_PATH{get_snap_path()};
23+ std::string real_path = SNAP_PATH + plugin_dir;
24+
25 GError * error = nullptr;
26- g_debug("plugin_dir '%s'", plugin_dir.c_str());
27- GDir * dir = g_dir_open(plugin_dir.c_str(), 0, &error);
28+ g_debug("plugin_dir '%s'", real_path.c_str());
29+ GDir * dir = g_dir_open(real_path.c_str(), 0, &error);
30 if (dir != nullptr)
31 {
32 const gchar * name;
33@@ -46,7 +56,7 @@
34 {
35 if (g_str_has_suffix(name, G_MODULE_SUFFIX))
36 {
37- gchar * filename = g_build_filename(plugin_dir.c_str(), name, nullptr);
38+ gchar * filename = g_build_filename(real_path.c_str(), name, nullptr);
39 GModule * mod = g_module_open(filename, G_MODULE_BIND_LOCAL);
40 gpointer symbol {};
41

Subscribers

People subscribed via source and target branches