[gnome-continuous] Try out a GLib patch for g_object_ref()
- From: Emmanuele Bassi <ebassi src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-continuous] Try out a GLib patch for g_object_ref()
- Date: Fri, 8 Dec 2017 15:48:10 +0000 (UTC)
commit dd0d3a8766dc76530766138801974dc8c3071251
Author: Emmanuele Bassi <ebassi gnome org>
Date: Fri Dec 8 15:47:32 2017 +0000
Try out a GLib patch for g_object_ref()
Let's see if WebKitGTK builds with this, before pushing it.
manifest.json | 1 +
patches/glib-object-refcount.patch | 29 +++++++++++++++++++++++++++++
2 files changed, 30 insertions(+), 0 deletions(-)
---
diff --git a/manifest.json b/manifest.json
index 7d9ec46..8c05510 100644
--- a/manifest.json
+++ b/manifest.json
@@ -72,6 +72,7 @@
"patches": ["python-meson-buildsys.patch"]},
{"src": "gnome:glib",
+ "patches": ["glib-object-refcount.patch"],
"component": "minimal",
"requires": {"pkgconfig": ["libffi >= 3.0.10"]},
"force-autotools": true,
diff --git a/patches/glib-object-refcount.patch b/patches/glib-object-refcount.patch
new file mode 100644
index 0000000..cc5d0f8
--- /dev/null
+++ b/patches/glib-object-refcount.patch
@@ -0,0 +1,29 @@
+From e6293945ebd3deedbaa96a9ab751e47ef4da239e Mon Sep 17 00:00:00 2001
+From: Emmanuele Bassi <ebassi gnome org>
+Date: Fri, 8 Dec 2017 15:44:37 +0000
+Subject: [PATCH] Disable refcounting type propagation with C++
+
+The type propagation breaks the GRefPtr.h class in WebKitGTK, and in
+any case existing C++ code calling the C API will need to perform an
+explicit cast, as there's no automatic promotion of pointer types to
+and from void*.
+---
+ gobject/gobject.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/gobject/gobject.h b/gobject/gobject.h
+index 490d9266a..eaefe9243 100644
+--- a/gobject/gobject.h
++++ b/gobject/gobject.h
+@@ -508,7 +508,7 @@ GLIB_AVAILABLE_IN_ALL
+ void g_object_remove_weak_pointer (GObject *object,
+ gpointer *weak_pointer_location);
+
+-#if defined(__GNUC__) && GLIB_VERSION_MAX_ALLOWED >= GLIB_VERSION_2_56
++#if defined(__GNUC__) && !defined(__cplusplus) && GLIB_VERSION_MAX_ALLOWED >= GLIB_VERSION_2_56
+ /* Make reference APIs type safe with macros */
+ #define g_object_ref(Obj) ((__typeof__(Obj)) (g_object_ref) (Obj))
+ #define g_object_ref_sink(Obj) ((__typeof__(Obj)) (g_object_ref_sink) (Obj))
+--
+2.14.3
+
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]