From 84db00195ac91343c32c1d1e9e4301e8b0adc662 Mon Sep 17 00:00:00 2001 From: Xavier Claessens Date: Wed, 23 Jan 2008 00:02:03 +0000 Subject: [PATCH] Try to load dtd and glade files from the srcdir first to aboid having to install them each time we change them. svn path=/trunk/; revision=596 --- configure.ac | 7 +++++++ libempathy-gtk/empathy-ui-utils.c | 10 +++++++++- libempathy/empathy-utils.c | 8 ++++++-- 3 files changed, 22 insertions(+), 3 deletions(-) diff --git a/configure.ac b/configure.ac index 46effc72..1d0c5b13 100644 --- a/configure.ac +++ b/configure.ac @@ -286,6 +286,13 @@ fi AM_CONDITIONAL(HAVE_VOIP, test "x$enable_voip" = "xyes") + +# ----------------------------------------------------------- +# Misc +# ----------------------------------------------------------- +AC_DEFINE_UNQUOTED([UNINSTALLED_GLADE_DIR], ["`pwd`/libempathy-gtk"], [path to glade files]) +AC_DEFINE_UNQUOTED([UNINSTALLED_DTD_DIR], ["`pwd`/libempathy"], [path to dtd files]) + # ----------------------------------------------------------- AC_OUTPUT([ diff --git a/libempathy-gtk/empathy-ui-utils.c b/libempathy-gtk/empathy-ui-utils.c index 2989ce2a..22a5fc2f 100644 --- a/libempathy-gtk/empathy-ui-utils.c +++ b/libempathy-gtk/empathy-ui-utils.c @@ -28,6 +28,8 @@ * Jeroen Zwartepoorte */ +#include + #include #include #include @@ -63,7 +65,13 @@ get_glade_file (const gchar *filename, const char *name; GtkWidget **widget_ptr; - path = g_build_filename (DATADIR, "empathy", filename, NULL); + path = g_build_filename (UNINSTALLED_GLADE_DIR, filename, NULL); + if (!g_file_test (path, G_FILE_TEST_EXISTS)) { + g_free (path); + path = g_build_filename (DATADIR, "empathy", filename, NULL); + } + empathy_debug (DEBUG_DOMAIN, "Loading glade file %s", path); + gui = glade_xml_new (path, root, domain); g_free (path); diff --git a/libempathy/empathy-utils.c b/libempathy/empathy-utils.c index 0e2c4b58..4050f467 100644 --- a/libempathy/empathy-utils.c +++ b/libempathy/empathy-utils.c @@ -208,11 +208,15 @@ empathy_xml_validate (xmlDoc *doc, xmlDtd *dtd; gboolean ret; - path = g_build_filename (DATADIR, "empathy", dtd_filename, NULL); + path = g_build_filename (UNINSTALLED_DTD_DIR, dtd_filename, NULL); + if (!g_file_test (path, G_FILE_TEST_EXISTS)) { + g_free (path); + path = g_build_filename (DATADIR, "empathy", dtd_filename, NULL); + } + empathy_debug (DEBUG_DOMAIN, "Loading dtd file %s", path); /* The list of valid chars is taken from libxml. */ escaped = xmlURIEscapeStr (path, ":@&=+$,/?;"); - g_free (path); memset (&cvp, 0, sizeof (cvp)); -- 2.39.2