summaryrefslogtreecommitdiff
path: root/gio/giomodule.c
diff options
context:
space:
mode:
authorBenjamin Otte <otte@redhat.com>2010-11-09 07:19:19 -0500
committerBenjamin Otte <otte@redhat.com>2010-11-09 21:13:04 -0500
commitfb94859e84c0b7859a0a5425d461b18e67ea9ac7 (patch)
tree20b006ad58c8e66bacb2f2739e3397ef0a3b1c18 /gio/giomodule.c
parent9f02ee790b03b4c9e73490734ddb4740219b1d36 (diff)
API: Reinstate "gio-desktop-app-info-lookup" extension point
Removing an extension point is an API and ABI break. In particular, it causes (older) gvfs versions to fail loading with a linkage error from ld which in turn makes the desktop unusable. So this reinstate the extension point and API provided by it, but deprecates and does not use it. So no functionality is changed. This reverts parts of commit 9b262f1c5fe5a6fd879f17cd7b80d8c54e33d80c. Complaints-Also-To: Ryan Lortie <desrt@desrt.ca>
Diffstat (limited to 'gio/giomodule.c')
-rw-r--r--gio/giomodule.c16
1 files changed, 13 insertions, 3 deletions
diff --git a/gio/giomodule.c b/gio/giomodule.c
index 86bf25ed2..d1318933f 100644
--- a/gio/giomodule.c
+++ b/gio/giomodule.c
@@ -36,14 +36,17 @@
#include "gsocks4aproxy.h"
#include "gsocks5proxy.h"
#include "gvfs.h"
-#ifdef G_OS_UNIX
-#include "gdesktopappinfo.h"
-#endif
#ifdef G_OS_WIN32
#include "gregistrysettingsbackend.h"
#endif
#include <glib/gstdio.h>
+#undef G_DISABLE_DEPRECATED
+
+#ifdef G_OS_UNIX
+#include "gdesktopappinfo.h"
+#endif
+
/**
* SECTION:giomodule
* @short_description: Loadable GIO Modules
@@ -523,6 +526,13 @@ _g_io_modules_ensure_extension_points_registered (void)
{
registered_extensions = TRUE;
+#ifdef G_OS_UNIX
+#if !GLIB_CHECK_VERSION (3, 0, 0)
+ ep = g_io_extension_point_register (G_DESKTOP_APP_INFO_LOOKUP_EXTENSION_POINT_NAME);
+ g_io_extension_point_set_required_type (ep, G_TYPE_DESKTOP_APP_INFO_LOOKUP);
+#endif
+#endif
+
ep = g_io_extension_point_register (G_LOCAL_DIRECTORY_MONITOR_EXTENSION_POINT_NAME);
g_io_extension_point_set_required_type (ep, G_TYPE_LOCAL_DIRECTORY_MONITOR);