diff options
author | Milan Crha <mcrha@redhat.com> | 2015-04-22 21:15:20 +0200 |
---|---|---|
committer | Milan Crha <mcrha@redhat.com> | 2015-04-22 21:15:20 +0200 |
commit | c7d4f0cf1a6ea27fa9563222393229766cd33fef (patch) | |
tree | 17204cf22de56cbae4f9de658296092908b513e1 /addressbook | |
parent | 0c834c5465ee684a71b28385da41dbbd0ea0b2eb (diff) | |
download | evolution-data-server-c7d4f0cf1a6ea27fa9563222393229766cd33fef.tar.gz |
Bug 705268 - Run 'make check' within the build tree
Diffstat (limited to 'addressbook')
-rw-r--r-- | addressbook/libedata-book/e-data-book-factory.c | 11 | ||||
-rw-r--r-- | addressbook/libedata-book/e-data-book-factory.h | 8 |
2 files changed, 18 insertions, 1 deletions
diff --git a/addressbook/libedata-book/e-data-book-factory.c b/addressbook/libedata-book/e-data-book-factory.c index 6722dcf7e..3dc45740a 100644 --- a/addressbook/libedata-book/e-data-book-factory.c +++ b/addressbook/libedata-book/e-data-book-factory.c @@ -98,6 +98,8 @@ data_book_complete_open (EDataFactory *data_factory, data_book_factory->priv->dbus_factory, invocation, object_path, bus_name); } +static gchar *overwrite_subprocess_book_path = NULL; + static gboolean data_book_factory_handle_open_address_book_cb (EDBusAddressBookFactory *iface, GDBusMethodInvocation *invocation, @@ -107,7 +109,8 @@ data_book_factory_handle_open_address_book_cb (EDBusAddressBookFactory *iface, EDataFactory *data_factory = E_DATA_FACTORY (factory); e_data_factory_spawn_subprocess_backend ( - data_factory, invocation, uid, E_SOURCE_EXTENSION_ADDRESS_BOOK, SUBPROCESS_BOOK_BACKEND_PATH); + data_factory, invocation, uid, E_SOURCE_EXTENSION_ADDRESS_BOOK, + overwrite_subprocess_book_path ? overwrite_subprocess_book_path : SUBPROCESS_BOOK_BACKEND_PATH); return TRUE; } @@ -135,12 +138,18 @@ e_data_book_factory_class_init (EDataBookFactoryClass *class) EDataFactoryClass *data_factory_class; const gchar *modules_directory = BACKENDDIR; const gchar *modules_directory_env; + const gchar *subprocess_book_path_env; modules_directory_env = g_getenv (EDS_ADDRESS_BOOK_MODULES); if (modules_directory_env && g_file_test (modules_directory_env, G_FILE_TEST_IS_DIR)) modules_directory = g_strdup (modules_directory_env); + subprocess_book_path_env = g_getenv (EDS_SUBPROCESS_BOOK_PATH); + if (subprocess_book_path_env && + g_file_test (subprocess_book_path_env, G_FILE_TEST_IS_EXECUTABLE)) + overwrite_subprocess_book_path = g_strdup (subprocess_book_path_env); + g_type_class_add_private (class, sizeof (EDataBookFactoryPrivate)); object_class = G_OBJECT_CLASS (class); diff --git a/addressbook/libedata-book/e-data-book-factory.h b/addressbook/libedata-book/e-data-book-factory.h index 68a1c3462..40a2988f0 100644 --- a/addressbook/libedata-book/e-data-book-factory.h +++ b/addressbook/libedata-book/e-data-book-factory.h @@ -53,6 +53,14 @@ */ #define EDS_ADDRESS_BOOK_MODULES "EDS_ADDRESS_BOOK_MODULES" +/** + * EDS_SUBPROCESS_BOOK_PATH: + * + * This environment variable configures where the address book + * factory subprocess is located in. + */ +#define EDS_SUBPROCESS_BOOK_PATH "EDS_SUBPROCESS_BOOK_PATH" + G_BEGIN_DECLS typedef struct _EDataBookFactory EDataBookFactory; |